14# error This file must not be included by applications; please include <png.h>
36#if ZLIB_VERNUM < 0x1260
37# define PNGZ_MSG_CAST(s) png_constcast(char*,s)
38# define PNGZ_INPUT_CAST(b) png_constcast(png_bytep,b)
40# define PNGZ_MSG_CAST(s) (s)
41# define PNGZ_INPUT_CAST(b) (b)
53# define ZLIB_IO_MAX ((uInt)-1)
56#ifdef PNG_WRITE_SUPPORTED
58typedef struct png_compression_buffer
60 struct png_compression_buffer *
next;
62} png_compression_buffer, *png_compression_bufferp;
64#define PNG_COMPRESSION_BUFFER_SIZE(pp)\
65 (offsetof(png_compression_buffer, output) + (pp)->zbuffer_size)
95#define PNG_CHUNK(cHNK, i) PNG_INDEX_ ## cHNK = (i),
108#define png_chunk_flag_from_index(i) (0x80000000U >> (31 - (i)))
114#define png_file_has_chunk(png_ptr, i)\
115 (((png_ptr)->chunks & png_chunk_flag_from_index(i)) != 0)
118#define png_file_add_chunk(pnt_ptr, i)\
119 ((void)((png_ptr)->chunks |= png_chunk_flag_from_index(i)))
124#ifdef PNG_SETJMP_SUPPORTED
126 png_longjmp_ptr longjmp_fn;
131#ifdef PNG_WARNINGS_SUPPORTED
132 png_error_ptr warning_fn;
139#ifdef PNG_READ_USER_TRANSFORM_SUPPORTED
140 png_user_transform_ptr read_user_transform_fn;
143#ifdef PNG_WRITE_USER_TRANSFORM_SUPPORTED
144 png_user_transform_ptr write_user_transform_fn;
148#ifdef PNG_USER_TRANSFORM_PTR_SUPPORTED
149#if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \
150 defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED)
152 png_byte user_transform_depth;
153 png_byte user_transform_channels;
164#ifdef PNG_WRITE_SUPPORTED
165 png_compression_bufferp zbuffer_list;
170 int zlib_window_bits;
175#ifdef PNG_WRITE_CUSTOMIZE_ZTXT_COMPRESSION_SUPPORTED
177 int zlib_text_method;
178 int zlib_text_window_bits;
179 int zlib_text_mem_level;
180 int zlib_text_strategy;
184#ifdef PNG_WRITE_SUPPORTED
187 int zlib_set_window_bits;
188 int zlib_set_mem_level;
189 int zlib_set_strategy;
193# define png_has_chunk(png_ptr, cHNK)\
194 png_file_has_chunk(png_ptr, PNG_INDEX_ ## cHNK)
215#ifdef PNG_WRITE_FILTER_SUPPORTED
227#ifdef PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED
242#ifdef PNG_WRITE_SUPPORTED
243 png_byte usr_channels;
250#if ZLIB_VERNUM >= 0x1240
251 png_byte zstream_start;
253#if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED)
257#if defined(PNG_bKGD_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) ||\
258 defined(PNG_READ_ALPHA_MODE_SUPPORTED)
259 png_byte background_gamma_type;
262#ifdef PNG_READ_GAMMA_SUPPORTED
267#ifdef PNG_WRITE_FLUSH_SUPPORTED
268 png_flush_ptr output_flush_fn;
273#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
277#ifdef PNG_READ_GAMMA_SUPPORTED
286#if defined(PNG_READ_BACKGROUND_SUPPORTED) || \
287 defined(PNG_READ_ALPHA_MODE_SUPPORTED) || \
288 defined(PNG_READ_RGB_TO_GRAY_SUPPORTED)
296#if defined(PNG_READ_GAMMA_SUPPORTED) || defined(PNG_sBIT_SUPPORTED)
300#if defined(PNG_READ_SHIFT_SUPPORTED) || defined(PNG_WRITE_SHIFT_SUPPORTED)
304#if defined(PNG_tRNS_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED) \
305 || defined(PNG_READ_EXPAND_SUPPORTED) || defined(PNG_READ_BACKGROUND_SUPPORTED)
312#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
313 png_progressive_info_ptr info_fn;
314 png_progressive_row_ptr row_fn;
315 png_progressive_end_ptr end_fn;
322 size_t save_buffer_size;
323 size_t save_buffer_max;
325 size_t current_buffer_size;
330#ifdef PNG_READ_QUANTIZE_SUPPORTED
336#ifdef PNG_SET_OPTION_SUPPORTED
340#if PNG_LIBPNG_VER < 10700
342#ifdef PNG_TIME_RFC1123_SUPPORTED
343 char time_buffer[29];
351#ifdef PNG_USER_CHUNKS_SUPPORTED
353#ifdef PNG_READ_USER_CHUNKS_SUPPORTED
354 png_user_chunk_ptr read_user_chunk_fn;
358#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
360 unsigned int num_chunk_list;
366#ifdef PNG_READ_RGB_TO_GRAY_SUPPORTED
367 png_byte rgb_to_gray_status;
369 png_byte rgb_to_gray_coefficients_set;
371 png_uint_16 rgb_to_gray_red_coeff;
372 png_uint_16 rgb_to_gray_green_coeff;
377#if defined(PNG_READ_EXPAND_SUPPORTED) && \
378 (defined(PNG_ARM_NEON_IMPLEMENTATION) || \
379 defined(PNG_RISCV_RVV_IMPLEMENTATION))
384#if defined(PNG_MNG_FEATURES_SUPPORTED)
390#ifdef PNG_MNG_FEATURES_SUPPORTED
391 png_byte filter_type;
397#ifdef PNG_USER_MEM_SUPPORTED
399 png_malloc_ptr malloc_fn;
400 png_free_ptr free_fn;
406#ifdef PNG_READ_QUANTIZE_SUPPORTED
417#ifdef PNG_USER_LIMITS_SUPPORTED
433#ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
443#ifdef PNG_READ_SUPPORTED
448#ifdef PNG_SEQUENTIAL_READ_SUPPORTED
452#ifdef PNG_IO_STATE_SUPPORTED
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
static const char filler[0x1000]
png_structrp png_fixed_point screen_gamma
#define PNG_FILTER_VALUE_LAST
png_int_32 png_fixed_point
const png_byte * png_const_bytep
png_uint_16 ** png_uint_16pp
static unsigned __int64 next
wchar_t const *const size_t const buffer_size
png_read_status_ptr read_row_fn
png_write_status_ptr write_row_fn
png_uint_32 transformations
size_t old_big_row_buf_size
void(* read_filter[PNG_FILTER_VALUE_LAST-1])(png_row_infop row_info, png_bytep row, png_const_bytep prev_row)
png_byte transformed_pixel_depth
png_byte maximum_pixel_depth
png_byte compression_type