LIBJXL_DOC
gain_map.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_GAIN_MAP_H_
14 #define JXL_GAIN_MAP_H_
15 
16 #include <jxl/color_encoding.h>
17 #include <jxl/jxl_export.h>
18 #include <jxl/types.h>
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
38 typedef struct {
40  uint8_t jhgm_version;
46  const uint8_t* gain_map_metadata;
54  uint32_t alt_icc_size;
57  const uint8_t* alt_icc;
59  uint32_t gain_map_size;
62  const uint8_t* gain_map;
64 
76 JXL_EXPORT JXL_BOOL JxlGainMapGetBundleSize(const JxlGainMapBundle* map_bundle,
77  size_t* bundle_size);
78 
94 JXL_EXPORT JXL_BOOL JxlGainMapWriteBundle(const JxlGainMapBundle* map_bundle,
95  uint8_t* output_buffer,
96  size_t output_buffer_size,
97  size_t* bytes_written);
98 
118 JXL_EXPORT JXL_BOOL JxlGainMapReadBundle(JxlGainMapBundle* map_bundle,
119  const uint8_t* input_buffer,
120  size_t input_buffer_size,
121  size_t* bytes_read);
122 
123 #ifdef __cplusplus
124 }
125 #endif
126 
127 #endif /* JXL_GAIN_MAP_H_ */
128 
#define JXL_BOOL
Definition: types.h:29
Data types for the JPEG XL API, for both encoding and decoding.
Definition: color_encoding.h:114
uint32_t alt_icc_size
Definition: gain_map.h:54
Color Encoding definitions used by JPEG XL. All CIE units are for the standard 1931 2 degree observer...
uint32_t gain_map_size
Definition: gain_map.h:59
uint16_t gain_map_metadata_size
Definition: gain_map.h:42
JXL_EXPORT JXL_BOOL JxlGainMapReadBundle(JxlGainMapBundle *map_bundle, const uint8_t *input_buffer, size_t input_buffer_size, size_t *bytes_read)
const uint8_t * gain_map
Definition: gain_map.h:62
JxlColorEncoding color_encoding
Definition: gain_map.h:51
uint8_t jhgm_version
Definition: gain_map.h:40
Definition: gain_map.h:38
const uint8_t * alt_icc
Definition: gain_map.h:57
const uint8_t * gain_map_metadata
Definition: gain_map.h:46
JXL_EXPORT JXL_BOOL JxlGainMapWriteBundle(const JxlGainMapBundle *map_bundle, uint8_t *output_buffer, size_t output_buffer_size, size_t *bytes_written)
JXL_BOOL has_color_encoding
Definition: gain_map.h:48
JXL_EXPORT JXL_BOOL JxlGainMapGetBundleSize(const JxlGainMapBundle *map_bundle, size_t *bundle_size)