LIBJXL

Loading...
Searching...
No Matches
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#ifdef __cplusplus
20 extern "C" {
21#endif
22
29 typedef struct JxlEncoderStatsStruct JxlEncoderStats;
30
36JXL_EXPORT JxlEncoderStats* JxlEncoderStatsCreate(void);
37
44JXL_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,
76} JxlEncoderStatsKey;
77
86JXL_EXPORT size_t JxlEncoderStatsGet(const JxlEncoderStats* stats,
87 JxlEncoderStatsKey key);
88
94JXL_EXPORT void JxlEncoderStatsMerge(JxlEncoderStats* stats,
95 const JxlEncoderStats* other);
96
97#ifdef __cplusplus
98}
99#endif
100
101#endif /* JXL_STATS_H_ */
102
JxlEncoderStatsGet
JXL_EXPORT size_t JxlEncoderStatsGet(const JxlEncoderStats *stats, JxlEncoderStatsKey key)
JxlEncoderStats
struct JxlEncoderStatsStruct JxlEncoderStats
Definition stats.h:29
JxlEncoderStatsCreate
JXL_EXPORT JxlEncoderStats * JxlEncoderStatsCreate(void)
JxlEncoderStatsKey
JxlEncoderStatsKey
Definition stats.h:48
JxlEncoderStatsMerge
JXL_EXPORT void JxlEncoderStatsMerge(JxlEncoderStats *stats, const JxlEncoderStats *other)
JxlEncoderStatsDestroy
JXL_EXPORT void JxlEncoderStatsDestroy(JxlEncoderStats *stats)