LIBJXL
stats.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_STATS_H_
14 #define JXL_STATS_H_
15 
16 #include <jxl/jxl_export.h>
17 #include <stddef.h>
18 
19 #if defined(__cplusplus) || defined(c_plusplus)
20 extern "C" {
21 #endif
22 
29 typedef struct JxlEncoderStatsStruct JxlEncoderStats;
30 
37 
44 JXL_EXPORT void JxlEncoderStatsDestroy(JxlEncoderStats* stats);
45 
48 typedef enum {
49  JXL_ENC_STAT_HEADER_BITS,
50  JXL_ENC_STAT_TOC_BITS,
51  JXL_ENC_STAT_DICTIONARY_BITS,
52  JXL_ENC_STAT_SPLINES_BITS,
53  JXL_ENC_STAT_NOISE_BITS,
54  JXL_ENC_STAT_QUANT_BITS,
55  JXL_ENC_STAT_MODULAR_TREE_BITS,
56  JXL_ENC_STAT_MODULAR_GLOBAL_BITS,
57  JXL_ENC_STAT_DC_BITS,
58  JXL_ENC_STAT_MODULAR_DC_GROUP_BITS,
59  JXL_ENC_STAT_CONTROL_FIELDS_BITS,
60  JXL_ENC_STAT_COEF_ORDER_BITS,
61  JXL_ENC_STAT_AC_HISTOGRAM_BITS,
62  JXL_ENC_STAT_AC_BITS,
63  JXL_ENC_STAT_MODULAR_AC_GROUP_BITS,
64  JXL_ENC_STAT_NUM_SMALL_BLOCKS,
65  JXL_ENC_STAT_NUM_DCT4X8_BLOCKS,
66  JXL_ENC_STAT_NUM_AFV_BLOCKS,
67  JXL_ENC_STAT_NUM_DCT8_BLOCKS,
68  JXL_ENC_STAT_NUM_DCT8X32_BLOCKS,
69  JXL_ENC_STAT_NUM_DCT16_BLOCKS,
70  JXL_ENC_STAT_NUM_DCT16X32_BLOCKS,
71  JXL_ENC_STAT_NUM_DCT32_BLOCKS,
72  JXL_ENC_STAT_NUM_DCT32X64_BLOCKS,
73  JXL_ENC_STAT_NUM_DCT64_BLOCKS,
74  JXL_ENC_STAT_NUM_BUTTERAUGLI_ITERS,
75  JXL_ENC_NUM_STATS,
77 
86 JXL_EXPORT size_t JxlEncoderStatsGet(const JxlEncoderStats* stats,
87  JxlEncoderStatsKey key);
88 
94 JXL_EXPORT void JxlEncoderStatsMerge(JxlEncoderStats* stats,
95  const JxlEncoderStats* other);
96 
97 #if defined(__cplusplus) || defined(c_plusplus)
98 }
99 #endif
100 
101 #endif /* JXL_STATS_H_ */
102 
JXL_EXPORT size_t JxlEncoderStatsGet(const JxlEncoderStats *stats, JxlEncoderStatsKey key)
struct JxlEncoderStatsStruct JxlEncoderStats
Definition: stats.h:29
JXL_EXPORT JxlEncoderStats * JxlEncoderStatsCreate(void)
JxlEncoderStatsKey
Definition: stats.h:48
JXL_EXPORT void JxlEncoderStatsMerge(JxlEncoderStats *stats, const JxlEncoderStats *other)
JXL_EXPORT void JxlEncoderStatsDestroy(JxlEncoderStats *stats)