1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef PNGLCONF_H
6 #define PNGLCONF_H
7 
8 #define MOZ_EMBEDDED_LIBPNG
9 
10 /* Limit image dimensions (bug #251381, #591822, #967656, and #1283961) */
11 #ifndef MOZ_PNG_MAX_WIDTH
12 #  define MOZ_PNG_MAX_WIDTH 0x7fffffffL /* Unlimited */
13 #endif
14 #ifndef MOZ_PNG_MAX_HEIGHT
15 #  define MOZ_PNG_MAX_HEIGHT 0x7fffffffL /* Unlimited */
16 #endif
17 
18 #define PNG_API_RULE 0
19 #define PNG_COST_SHIFT 3
20 #define PNG_GAMMA_THRESHOLD_FIXED 5000
21 #define PNG_IDAT_READ_SIZE PNG_ZBUF_SIZE
22 #define PNG_INFLATE_BUF_SIZE 1024
23 #define PNG_LINKAGE_API extern
24 #define PNG_LINKAGE_CALLBACK extern
25 #define PNG_LINKAGE_DATA extern
26 #define PNG_LINKAGE_FUNCTION extern
27 #define PNG_MAX_GAMMA_8 11
28 #define PNG_SET_OPTION_SUPPORTED
29 #define PNG_sRGB_PROFILE_CHECKS -1
30 #define PNG_USER_CHUNK_CACHE_MAX 128
31 #define PNG_USER_CHUNK_MALLOC_MAX 4000000L
32 #define PNG_USER_HEIGHT_MAX MOZ_PNG_MAX_WIDTH
33 #define PNG_USER_WIDTH_MAX MOZ_PNG_MAX_HEIGHT
34 #define PNG_WEIGHT_SHIFT 8
35 #define PNG_ZBUF_SIZE 8192
36 #define PNG_Z_DEFAULT_COMPRESSION (-1)
37 #define PNG_Z_DEFAULT_NOFILTER_STRATEGY 0
38 #define PNG_Z_DEFAULT_STRATEGY 1
39 
40 #ifdef _MSC_VER
41 /* The PNG_PEDANTIC_WARNINGS (attributes) fail to build with some MSC
42  * compilers; we'll play it safe and disable them for all MSC compilers.
43  */
44 #define PNG_NO_PEDANTIC_WARNINGS
45 #endif
46 
47 #ifdef MOZ_PNG_USE_ARM_NEON
48 #  undef PNG_ARM_NEON_OPT /* Let libpng decide */
49 #  define PNG_ALIGNED_MEMORY_SUPPORTED
50 #else
51 #  define PNG_ARM_NEON_OPT 0
52 #endif
53 
54 #ifdef MOZ_PNG_USE_MIPS_MSA
55 #  undef PNG_MIPS_MSA_OPT
56 #  define PNG_ALIGNED_MEMORY_SUPPORTED
57 #else
58 #  define PNG_MIPS_MSA_OPT 0
59 #endif
60 
61 #ifdef MOZ_PNG_USE_INTEL_SSE
62 #  undef PNG_INTEL_SSE_OPT
63 #  define PNG_INTEL_SSE
64 #  define PNG_ALIGNED_MEMORY_SUPPORTED
65 #else
66 #  define PNG_INTEL_SSE_OPT 0
67 #endif
68 
69 #define PNG_READ_SUPPORTED
70 #define PNG_PROGRESSIVE_READ_SUPPORTED
71 #define PNG_READ_APNG_SUPPORTED
72 #define PNG_READ_cHRM_SUPPORTED
73 #define PNG_READ_gAMA_SUPPORTED
74 #define PNG_READ_iCCP_SUPPORTED
75 #define PNG_READ_sRGB_SUPPORTED
76 #define PNG_READ_tRNS_SUPPORTED
77 #define PNG_READ_16BIT_SUPPORTED
78 #define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
79 #define PNG_READ_COMPOSITE_NODIV_SUPPORTED
80 #define PNG_READ_COMPRESSED_TEXT_SUPPORTED
81 #define PNG_READ_EXPAND_SUPPORTED
82 #define PNG_READ_GAMMA_SUPPORTED
83 #define PNG_READ_GRAY_TO_RGB_SUPPORTED
84 #define PNG_READ_INTERLACING_SUPPORTED
85 #define PNG_READ_SCALE_16_TO_8_SUPPORTED
86 #define PNG_READ_TRANSFORMS_SUPPORTED
87 
88 /* necessary for freetype color bitmap support (Android & B2G)
89    and boot animation code (Gonk) */
90 #if defined(ANDROID) || defined(FT_CONFIG_OPTION_USE_PNG)
91 #define PNG_READ_PACK_SUPPORTED
92 #define PNG_READ_FILLER_SUPPORTED
93 #define PNG_READ_STRIP_16_TO_8_SUPPORTED
94 #define PNG_READ_USER_TRANSFORM_SUPPORTED
95 #define PNG_SEQUENTIAL_READ_SUPPORTED
96 #endif
97 
98 /* necessary for boot animation code (Gonk) */
99 #ifdef MOZ_WIDGET_GONK
100 #define PNG_bKGD_SUPPORTED
101 #define PNG_UNKNOWN_CHUNKS_SUPPORTED
102 #define PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
103 #define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
104 #define PNG_EASY_ACCESS_SUPPORTED
105 #define PNG_READ_bKGD_SUPPORTED
106 #define PNG_READ_BGR_SUPPORTED
107 #define PNG_READ_GRAY_TO_RGB_SUPPORTED
108 #define PNG_READ_STRIP_ALPHA_SUPPORTED
109 #endif
110 
111 #define PNG_WRITE_SUPPORTED
112 #define PNG_WRITE_APNG_SUPPORTED
113 #define PNG_WRITE_tRNS_SUPPORTED
114 #define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
115 #define PNG_WRITE_FLUSH_SUPPORTED
116 #define PNG_WRITE_OPTIMIZE_CMF_SUPPORTED
117 #define PNG_WRITE_INT_FUNCTIONS_SUPPORTED
118 
119 #define PNG_APNG_SUPPORTED
120 #define PNG_ALLOW_BENIGN_ERRORS
121 #define PNG_BENIGN_ERRORS_SUPPORTED
122 #define PNG_BENIGN_READ_ERRORS_SUPPORTED
123 #define PNG_cHRM_SUPPORTED
124 #define PNG_COLORSPACE_SUPPORTED
125 #define PNG_gAMA_SUPPORTED
126 #define PNG_GAMMA_SUPPORTED
127 #define PNG_iCCP_SUPPORTED
128 #define PNG_sRGB_SUPPORTED
129 #define PNG_tRNS_SUPPORTED
130 #define PNG_16BIT_SUPPORTED
131 #define PNG_FLOATING_ARITHMETIC_SUPPORTED
132 #define PNG_FLOATING_POINT_SUPPORTED
133 #define PNG_POINTER_INDEXING_SUPPORTED
134 #define PNG_SETJMP_SUPPORTED
135 #define PNG_STDIO_SUPPORTED
136 
137 #define PNG_CHECK_cHRM_SUPPORTED
138 #define PNG_ERROR_TEXT_SUPPORTED
139 #define PNG_WARNINGS_SUPPORTED
140 
141 /* Mangle names of exported libpng functions so different libpng versions
142    can coexist. It is recommended that if you do this, you give your
143    library a different name such as "mozlibpng" instead of "libpng". */
144 
145 /* The following has been present since libpng-0.88, has never changed, and
146    is unaffected by conditional compilation macros.  It will not be mangled
147    and it is the only choice for use in configure scripts for detecting the
148    presence of any libpng version since 0.88.
149 
150    png_get_io_ptr
151 */
152 
153 /* Mozilla: mangle it anyway. */
154 #define png_get_io_ptr                  MOZ_PNG_get_io_ptr
155 
156 /* The following weren't present in libpng-0.88 but have never changed since
157    they were first introduced and are not affected by any conditional compile
158    choices and therefore don't need to be mangled.  We'll mangle them anyway. */
159 #define png_sig_cmp                     MOZ_PNG_sig_cmp
160 #define png_access_version_number       MOZ_PNG_access_vn
161 
162 /* These have never changed since they were first introduced but they
163    make direct reference to members of png_ptr that might have been moved,
164    so they will be mangled. */
165 
166 #define png_set_sig_bytes               MOZ_PNG_set_sig_b
167 #define png_reset_zstream               MOZ_PNG_reset_zs
168 
169 /* The following may have changed, or can be affected by conditional compilation
170    choices, and will be mangled. */
171 #define png_64bit_product               MOZ_PNG_64bit_product
172 #define png_build_gamma_table           MOZ_PNG_build_gamma_tab
173 #define png_build_grayscale_palette     MOZ_PNG_build_g_p
174 #define png_calculate_crc               MOZ_PNG_calc_crc
175 #define png_calloc                      MOZ_PNG_calloc
176 #define png_check_cHRM_fixed            MOZ_PNG_ck_cHRM_fixed
177 #define png_check_chunk_name            MOZ_PNG_ck_chunk_name
178 #define png_check_IHDR                  MOZ_PNG_ck_IHDR
179 #define png_check_keyword               MOZ_PNG_ck_keyword
180 #define png_combine_row                 MOZ_PNG_combine_row
181 #define png_convert_from_struct_tm      MOZ_PNG_cv_from_struct_tm
182 #define png_convert_from_time_t         MOZ_PNG_cv_from_time_t
183 #define png_convert_to_rfc1123          MOZ_PNG_cv_to_rfc1123
184 #define png_correct_palette             MOZ_PNG_correct_palette
185 #define png_crc_error                   MOZ_PNG_crc_error
186 #define png_crc_finish                  MOZ_PNG_crc_finish
187 #define png_crc_read                    MOZ_PNG_crc_read
188 #define png_create_info_struct          MOZ_PNG_cr_info_str
189 #define png_create_read_struct          MOZ_PNG_cr_read_str
190 #define png_create_read_struct_2        MOZ_PNG_cr_read_str_2
191 #define png_create_struct               MOZ_PNG_create_st
192 #define png_create_struct_2             MOZ_PNG_create_s2
193 #define png_create_write_struct         MOZ_PNG_cr_write_str
194 #define png_create_write_struct_2       MOZ_PNG_cr_write_str_2
195 #define png_data_freer                  MOZ_PNG_data_freer
196 #define png_decompress_chunk            MOZ_PNG_decomp_chunk
197 #define png_default_error               MOZ_PNG_def_error
198 #define png_default_flush               MOZ_PNG_def_flush
199 #define png_default_read_data           MOZ_PNG_def_read_data
200 #define png_default_warning             MOZ_PNG_def_warning
201 #define png_default_write_data          MOZ_PNG_default_write_data
202 #define png_destroy_info_struct         MOZ_PNG_dest_info_str
203 #define png_destroy_read_struct         MOZ_PNG_dest_read_str
204 #define png_destroy_struct              MOZ_PNG_dest_str
205 #define png_destroy_struct_2            MOZ_PNG_dest_str_2
206 #define png_destroy_write_struct        MOZ_PNG_dest_write_str
207 #define png_digit                       MOZ_PNG_digit
208 #define png_do_bgr                      MOZ_PNG_do_bgr
209 #define png_do_chop                     MOZ_PNG_do_chop
210 #define png_do_expand                   MOZ_PNG_do_expand
211 #define png_do_expand_palette           MOZ_PNG_do_expand_plte
212 #define png_do_gamma                    MOZ_PNG_do_gamma
213 #define png_do_gray_to_rgb              MOZ_PNG_do_g_to_rgb
214 #define png_do_invert                   MOZ_PNG_do_invert
215 #define png_do_packswap                 MOZ_PNG_do_packswap
216 #define png_do_read_filler              MOZ_PNG_do_read_fill
217 #define png_do_read_interlace           MOZ_PNG_do_read_int
218 #define png_do_read_intrapixel          MOZ_PNG_do_read_intra
219 #define png_do_read_invert_alpha        MOZ_PNG_do_read_inv_alph
220 #define png_do_read_swap_alpha          MOZ_PNG_do_read_swap_alph
221 #define png_do_read_transformations     MOZ_PNG_do_read_trans
222 #define png_do_rgb_to_gray              MOZ_PNG_do_rgb_to_g
223 #define png_do_shift                    MOZ_PNG_do_shift
224 #define png_do_swap                     MOZ_PNG_do_swap
225 #define png_do_unpack                   MOZ_PNG_do_unpack
226 #define png_do_unshift                  MOZ_PNG_do_unshift
227 #define png_do_write_interlace          MOZ_PNG_do_write_interlace
228 #define png_do_write_intrapixel         MOZ_PNG_do_write_intrapixel
229 #define png_do_write_invert_alpha       MOZ_PNG_do_write_invert_alpha
230 #define png_do_write_swap_alpha         MOZ_PNG_do_write_swap_alpha
231 #define png_do_write_transformations    MOZ_PNG_do_write_trans
232 #define png_err                         MOZ_PNG_err
233 #define png_far_to_near                 MOZ_PNG_far_to_near
234 #define png_fixed                       MOZ_PNG_fixed
235 #define png_flush                       MOZ_PNG_flush
236 #define png_format_buffer               MOZ_PNG_format_buf
237 #define png_free                        MOZ_PNG_free
238 #define png_free_data                   MOZ_PNG_free_data
239 #define png_free_default                MOZ_PNG_free_def
240 #define png_get_bit_depth               MOZ_PNG_get_bit_depth
241 #define png_get_bKGD                    MOZ_PNG_get_bKGD
242 #define png_get_channels                MOZ_PNG_get_channels
243 #define png_get_cHRM                    MOZ_PNG_get_cHRM
244 #define png_get_cHRM_fixed              MOZ_PNG_get_cHRM_fixed
245 #define png_get_color_type              MOZ_PNG_get_color_type
246 #define png_get_compression_buffer_size MOZ_PNG_get_comp_buf_siz
247 #define png_get_compression_type        MOZ_PNG_get_comp_type
248 #define png_get_copyright               MOZ_PNG_get_copyright
249 #define png_get_error_ptr               MOZ_PNG_get_error_ptr
250 #define png_get_filter_type             MOZ_PNG_get_filter_type
251 #define png_get_gAMA                    MOZ_PNG_get_gAMA
252 #define png_get_gAMA_fixed              MOZ_PNG_get_gAMA_fixed
253 #define png_get_header_ver              MOZ_PNG_get_hdr_ver
254 #define png_get_header_version          MOZ_PNG_get_hdr_vn
255 #define png_get_hIST                    MOZ_PNG_get_hIST
256 #define png_get_iCCP                    MOZ_PNG_get_iCCP
257 #define png_get_IHDR                    MOZ_PNG_get_IHDR
258 #define png_get_image_height            MOZ_PNG_get_image_h
259 #define png_get_image_width             MOZ_PNG_get_image_w
260 #define png_get_interlace_type          MOZ_PNG_get_interlace_type
261 #define png_get_libpng_ver              MOZ_PNG_get_libpng_ver
262 #define png_get_mem_ptr                 MOZ_PNG_get_mem_ptr
263 #define png_get_oFFs                    MOZ_PNG_get_oFFs
264 #define png_get_pCAL                    MOZ_PNG_get_pCAL
265 #define png_get_pHYs                    MOZ_PNG_get_pHYs
266 #define png_get_pHYs_dpi                MOZ_PNG_get_pHYs_dpi
267 #define png_get_pixel_aspect_ratio      MOZ_PNG_get_pixel_aspect_ratio
268 #define png_get_pixels_per_inch         MOZ_PNG_get_pixels_per_inch
269 #define png_get_pixels_per_meter        MOZ_PNG_get_pixels_p_m
270 #define png_get_PLTE                    MOZ_PNG_get_PLTE
271 #define png_get_progressive_ptr         MOZ_PNG_get_progressive_ptr
272 #define png_get_rgb_to_gray_status      MOZ_PNG_get_rgb_to_gray_status
273 #define png_get_rowbytes                MOZ_PNG_get_rowbytes
274 #define png_get_rows                    MOZ_PNG_get_rows
275 #define png_get_sBIT                    MOZ_PNG_get_sBIT
276 #define png_get_sCAL                    MOZ_PNG_get_sCAL
277 #define png_get_sCAL_s                  MOZ_PNG_get_sCAL_s
278 #define png_get_signature               MOZ_PNG_get_signature
279 #define png_get_sPLT                    MOZ_PNG_get_sPLT
280 #define png_get_sRGB                    MOZ_PNG_get_sRGB
281 #define png_get_text                    MOZ_PNG_get_text
282 #define png_get_tIME                    MOZ_PNG_get_tIME
283 #define png_get_tRNS                    MOZ_PNG_get_tRNS
284 #define png_get_unknown_chunks          MOZ_PNG_get_unk_chunks
285 #define png_get_user_chunk_ptr          MOZ_PNG_get_user_chunk_ptr
286 #define png_get_user_height_max         MOZ_PNG_get_user_height_max
287 #define png_get_user_transform_ptr      MOZ_PNG_get_user_transform_ptr
288 #define png_get_user_width_max          MOZ_PNG_get_user_width_max
289 #define png_get_valid                   MOZ_PNG_get_valid
290 #define png_get_x_offset_inches         MOZ_PNG_get_x_offset_inches
291 #define png_get_x_offset_microns        MOZ_PNG_get_x_offs_microns
292 #define png_get_x_offset_pixels         MOZ_PNG_get_x_offs_pixels
293 #define png_get_x_pixels_per_inch       MOZ_PNG_get_x_pixels_per_inch
294 #define png_get_x_pixels_per_meter      MOZ_PNG_get_x_pix_per_meter
295 #define png_get_y_offset_inches         MOZ_PNG_get_y_offset_inches
296 #define png_get_y_offset_microns        MOZ_PNG_get_y_offs_microns
297 #define png_get_y_offset_pixels         MOZ_PNG_get_y_offs_pixels
298 #define png_get_y_pixels_per_inch       MOZ_PNG_get_y_pixels_per_inch
299 #define png_get_y_pixels_per_meter      MOZ_PNG_get_y_pix_per_meter
300 #define png_handle_as_unknown           MOZ_PNG_handle_as_unknown
301 #define png_handle_bKGD                 MOZ_PNG_handle_bKGD
302 #define png_handle_cHRM                 MOZ_PNG_handle_cHRM
303 #define png_handle_gAMA                 MOZ_PNG_handle_gAMA
304 #define png_handle_hIST                 MOZ_PNG_handle_hIST
305 #define png_handle_iCCP                 MOZ_PNG_handle_iCCP
306 #define png_handle_IEND                 MOZ_PNG_handle_IEND
307 #define png_handle_IHDR                 MOZ_PNG_handle_IHDR
308 #define png_handle_iTXt                 MOZ_PNG_handle_iTXt
309 #define png_handle_oFFs                 MOZ_PNG_handle_oFFs
310 #define png_handle_pCAL                 MOZ_PNG_handle_pCAL
311 #define png_handle_pHYs                 MOZ_PNG_handle_pHYs
312 #define png_handle_PLTE                 MOZ_PNG_handle_PLTE
313 #define png_handle_sBIT                 MOZ_PNG_handle_sBIT
314 #define png_handle_sCAL                 MOZ_PNG_handle_sCAL
315 #define png_handle_sPLT                 MOZ_PNG_handle_sPLT
316 #define png_handle_sRGB                 MOZ_PNG_handle_sRGB
317 #define png_handle_tEXt                 MOZ_PNG_handle_tEXt
318 #define png_handle_tIME                 MOZ_PNG_handle_tIME
319 #define png_handle_tRNS                 MOZ_PNG_handle_tRNS
320 #define png_handle_unknown              MOZ_PNG_handle_unknown
321 #define png_handle_zTXt                 MOZ_PNG_handle_zTXt
322 #define png_inflate                     MOZ_PNG_inflate
323 #define png_info_destroy                MOZ_PNG_info_dest
324 #define png_info_init_3                 MOZ_PNG_info_init_3
325 #define png_init_io                     MOZ_PNG_init_io
326 #define png_init_read_transformations   MOZ_PNG_init_read_transf
327 #define png_malloc                      MOZ_PNG_malloc
328 #define png_malloc_default              MOZ_PNG_malloc_default
329 #define png_malloc_warn                 MOZ_PNG_malloc_warn
330 #define png_permit_mng_features         MOZ_PNG_permit_mng_features
331 #define png_process_data                MOZ_PNG_process_data
332 #define png_process_IDAT_data           MOZ_PNG_proc_IDAT_data
333 #define png_process_some_data           MOZ_PNG_proc_some_data
334 #define png_progressive_combine_row     MOZ_PNG_progressive_combine_row
335 #define png_push_check_crc              MOZ_PNG_push_check_crc
336 #define png_push_fill_buffer            MOZ_PNG_push_fill_buffer
337 #define png_push_handle_iTXt            MOZ_PNG_push_handle_iTXt
338 #define png_push_handle_tEXt            MOZ_PNG_push_handle_tEXt
339 #define png_push_handle_unknown         MOZ_PNG_push_handle_unk
340 #define png_push_handle_zTXt            MOZ_PNG_push_handle_ztXt
341 #define png_push_have_end               MOZ_PNG_push_have_end
342 #define png_push_have_info              MOZ_PNG_push_have_info
343 #define png_push_have_row               MOZ_PNG_push_have_row
344 #define png_push_process_row            MOZ_PNG_push_proc_row
345 #define png_push_read_chunk             MOZ_PNG_push_read_chunk
346 #define png_push_read_end               MOZ_PNG_push_read_end
347 #define png_push_read_IDAT              MOZ_PNG_push_read_IDAT
348 #define png_push_read_iTXt              MOZ_PNG_push_read_iTXt
349 #define png_push_read_sig               MOZ_PNG_push_read_sig
350 #define png_push_read_tEXt              MOZ_PNG_push_read_tEXt
351 #define png_push_read_zTXt              MOZ_PNG_push_read_zTXt
352 #define png_push_restore_buffer         MOZ_PNG_push_rest_buf
353 #define png_push_save_buffer            MOZ_PNG_push_save_buf
354 #define png_read_chunk_header           MOZ_PNG_read_chunk_header
355 #define png_read_data                   MOZ_PNG_read_data
356 #define png_read_destroy                MOZ_PNG_read_dest
357 #define png_read_end                    MOZ_PNG_read_end
358 #define png_read_filter_row             MOZ_PNG_read_filt_row
359 #define png_read_finish_row             MOZ_PNG_read_finish_row
360 #define png_read_image                  MOZ_PNG_read_image
361 #define png_read_info                   MOZ_PNG_read_info
362 #define png_read_png                    MOZ_PNG_read_png
363 #define png_read_push_finish_row        MOZ_PNG_read_push_finish_row
364 #define png_read_row                    MOZ_PNG_read_row
365 #define png_read_rows                   MOZ_PNG_read_rows
366 #define png_read_start_row              MOZ_PNG_read_start_row
367 #define png_read_transform_info         MOZ_PNG_read_transform_info
368 #define png_read_update_info            MOZ_PNG_read_update_info
369 #define png_reset_crc                   MOZ_PNG_reset_crc
370 #define png_save_int_32                 MOZ_PNG_save_int_32
371 #define png_save_uint_16                MOZ_PNG_save_uint_16
372 #define png_save_uint_32                MOZ_PNG_save_uint_32
373 #define png_set_add_alpha               MOZ_PNG_set_add_alpha
374 #define png_set_background              MOZ_PNG_set_background
375 #define png_set_benign_errors           MOZ_PNG_set_benign_errors
376 #define png_set_bgr                     MOZ_PNG_set_bgr
377 #define png_set_bKGD                    MOZ_PNG_set_bKGD
378 #define png_set_cHRM                    MOZ_PNG_set_cHRM
379 #define png_set_cHRM_fixed              MOZ_PNG_set_cHRM_fixed
380 #define png_set_compression_buffer_size MOZ_PNG_set_comp_buf_siz
381 #define png_set_compression_level       MOZ_PNG_set_comp_level
382 #define png_set_compression_mem_level   MOZ_PNG_set_comp_mem_lev
383 #define png_set_compression_method      MOZ_PNG_set_comp_method
384 #define png_set_compression_strategy    MOZ_PNG_set_comp_strategy
385 #define png_set_compression_window_bits MOZ_PNG_set_comp_win_bits
386 #define png_set_crc_action              MOZ_PNG_set_crc_action
387 #define png_set_error_fn                MOZ_PNG_set_error_fn
388 #define png_set_expand                  MOZ_PNG_set_expand
389 #define png_set_expand_gray_1_2_4_to_8  MOZ_PNG_set_x_g_124_to_8
390 #define png_set_filler                  MOZ_PNG_set_filler
391 #define png_set_filter                  MOZ_PNG_set_filter
392 #define png_set_filter_heuristics       MOZ_PNG_set_filter_heur
393 #define png_set_flush                   MOZ_PNG_set_flush
394 #define png_set_gAMA                    MOZ_PNG_set_gAMA
395 #define png_set_gAMA_fixed              MOZ_PNG_set_gAMA_fixed
396 #define png_set_gamma                   MOZ_PNG_set_gamma
397 #define png_set_gray_to_rgb             MOZ_PNG_set_gray_to_rgb
398 #define png_set_hIST                    MOZ_PNG_set_hIST
399 #define png_set_iCCP                    MOZ_PNG_set_iCCP
400 #define png_set_IHDR                    MOZ_PNG_set_IHDR
401 #define png_set_interlace_handling      MOZ_PNG_set_interlace_handling
402 #define png_set_invalid                 MOZ_PNG_set_invalid
403 #define png_set_invert_alpha            MOZ_PNG_set_invert_alpha
404 #define png_set_invert_mono             MOZ_PNG_set_invert_mono
405 #define png_set_keep_unknown_chunks     MOZ_PNG_set_keep_unknown_chunks
406 #define png_set_mem_fn                  MOZ_PNG_set_mem_fn
407 #define png_set_oFFs                    MOZ_PNG_set_oFFs
408 #define png_set_packing                 MOZ_PNG_set_packing
409 #define png_set_packswap                MOZ_PNG_set_packswap
410 #define png_set_palette_to_rgb          MOZ_PNG_set_palette_to_rgb
411 #define png_set_pCAL                    MOZ_PNG_set_pCAL
412 #define png_set_pHYs                    MOZ_PNG_set_pHYs
413 #define png_set_PLTE                    MOZ_PNG_set_PLTE
414 #define png_set_progressive_read_fn     MOZ_PNG_set_progressive_read_fn
415 #define png_set_read_fn                 MOZ_PNG_set_read_fn
416 #define png_set_read_status_fn          MOZ_PNG_set_read_status_fn
417 #define png_set_read_user_chunk_fn      MOZ_PNG_set_read_user_chunk_fn
418 #define png_set_read_user_transform_fn  MOZ_PNG_set_read_user_trans_fn
419 #define png_set_rgb_to_gray             MOZ_PNG_set_rgb_to_gray
420 #define png_set_rgb_to_gray_fixed       MOZ_PNG_set_rgb_to_gray_fixed
421 #define png_set_rows                    MOZ_PNG_set_rows
422 #define png_set_sBIT                    MOZ_PNG_set_sBIT
423 #define png_set_sCAL                    MOZ_PNG_set_sCAL
424 #define png_set_sCAL_s                  MOZ_PNG_set_sCAL_s
425 #define png_set_shift                   MOZ_PNG_set_shift
426 #define png_set_sPLT                    MOZ_PNG_set_sPLT
427 #define png_set_sRGB                    MOZ_PNG_set_sRGB
428 #define png_set_sRGB_gAMA_and_cHRM      MOZ_PNG_set_sRGB_gAMA_and_cHRM
429 #define png_set_strip_16                MOZ_PNG_set_strip_16
430 #define png_set_strip_alpha             MOZ_PNG_set_strip_alpha
431 #define png_set_strip_error_numbers     MOZ_PNG_set_strip_err_nums
432 #define png_set_swap                    MOZ_PNG_set_swap
433 #define png_set_swap_alpha              MOZ_PNG_set_swap_alpha
434 #define png_set_text                    MOZ_PNG_set_text
435 #define png_set_text_2                  MOZ_PNG_set_text_2
436 #define png_set_tIME                    MOZ_PNG_set_tIME
437 #define png_set_tRNS                    MOZ_PNG_set_tRNS
438 #define png_set_tRNS_to_alpha           MOZ_PNG_set_tRNS_to_alpha
439 #define png_set_unknown_chunk_location  MOZ_PNG_set_unknown_chunk_loc
440 #define png_set_unknown_chunks          MOZ_PNG_set_unknown_chunks
441 #define png_set_user_limits             MOZ_PNG_set_user_limits
442 #define png_set_user_transform_info     MOZ_PNG_set_user_transform_info
443 #define png_set_write_fn                MOZ_PNG_set_write_fn
444 #define png_set_write_status_fn         MOZ_PNG_set_write_status_fn
445 #define png_set_write_user_transform_fn MOZ_PNG_set_write_user_trans_fn
446 #define png_start_read_image            MOZ_PNG_start_read_image
447 #define png_text_compress               MOZ_PNG_text_compress
448 #define png_write_bKGD                  MOZ_PNG_write_bKGD
449 #define png_write_cHRM                  MOZ_PNG_write_cHRM
450 #define png_write_cHRM_fixed            MOZ_PNG_write_cHRM_fixed
451 #define png_write_chunk                 MOZ_PNG_write_chunk
452 #define png_write_chunk_data            MOZ_PNG_write_chunk_data
453 #define png_write_chunk_end             MOZ_PNG_write_chunk_end
454 #define png_write_chunk_start           MOZ_PNG_write_chunk_start
455 #define png_write_compressed_data_out   MOZ_PNG_write_compressed_data_out
456 #define png_write_data                  MOZ_PNG_write_data
457 #define png_write_destroy               MOZ_PNG_write_destroy
458 #define png_write_end                   MOZ_PNG_write_end
459 #define png_write_filtered_row          MOZ_PNG_write_filtered_row
460 #define png_write_find_filter           MOZ_PNG_write_find_filter
461 #define png_write_finish_row            MOZ_PNG_write_finish_row
462 #define png_write_flush                 MOZ_PNG_write_flush
463 #define png_write_gAMA                  MOZ_PNG_write_gAMA
464 #define png_write_gAMA_fixed            MOZ_PNG_write_gAMA_fixed
465 #define png_write_hIST                  MOZ_PNG_write_hIST
466 #define png_write_iCCP                  MOZ_PNG_write_iCCP
467 #define png_write_IDAT                  MOZ_PNG_write_IDAT
468 #define png_write_IEND                  MOZ_PNG_write_IEND
469 #define png_write_IHDR                  MOZ_PNG_write_IHDR
470 #define png_write_image                 MOZ_PNG_write_image
471 #define png_write_info                  MOZ_PNG_write_info
472 #define png_write_info_before_PLTE      MOZ_PNG_write_info_before_PLTE
473 #define png_write_iTXt                  MOZ_PNG_write_iTXt
474 #define png_write_oFFs                  MOZ_PNG_write_oFFs
475 #define png_write_pCAL                  MOZ_PNG_write_pCAL
476 #define png_write_pHYs                  MOZ_PNG_write_pHYs
477 #define png_write_PLTE                  MOZ_PNG_write_PLTE
478 #define png_write_png                   MOZ_PNG_write_png
479 #define png_write_row                   MOZ_PNG_write_row
480 #define png_write_rows                  MOZ_PNG_write_rows
481 #define png_write_sBIT                  MOZ_PNG_write_sBIT
482 #define png_write_sCAL_s                MOZ_PNG_write_sCAL_s
483 #define png_write_sig                   MOZ_PNG_write_sig
484 #define png_write_sPLT                  MOZ_PNG_write_sPLT
485 #define png_write_sRGB                  MOZ_PNG_write_sRGB
486 #define png_write_start_row             MOZ_PNG_write_trans
487 #define png_write_tEXt                  MOZ_PNG_write_tEXt
488 #define png_write_tIME                  MOZ_PNG_write_tIME
489 #define png_write_tRNS                  MOZ_PNG_write_tRNS
490 #define png_write_zTXt                  MOZ_PNG_write_zTXt
491 #define png_zalloc                      MOZ_PNG_zalloc
492 #define png_zfree                       MOZ_PNG_zfree
493 #define onebppswaptable                 MOZ_onebppswaptable
494 #define twobppswaptable                 MOZ_twobppswaptable
495 #define fourbppswaptable                MOZ_fourbppswaptable
496 
497 /* APNG additions */
498 #define png_ensure_fcTL_is_valid        MOZ_APNG_ensure_fcTL_is_valid
499 #define png_ensure_sequence_number      MOZ_APNG_ensure_seqno
500 #define png_get_acTL                    MOZ_APNG_get_acTL
501 #define png_get_first_frame_is_hidden   MOZ_APNG_get_first_frame_is_hidden
502 #define png_get_next_frame_blend_op     MOZ_APNG_get_next_frame_blend_op
503 #define png_get_next_frame_delay_den    MOZ_APNG_get_next_frame_delay_den
504 #define png_get_next_frame_delay_num    MOZ_APNG_get_next_frame_delay_num
505 #define png_get_next_frame_dispose_op   MOZ_APNG_get_next_frame_dispose_op
506 #define png_get_next_frame_fcTL         MOZ_APNG_get_next_frame_fcTL
507 #define png_get_next_frame_height       MOZ_APNG_get_next_frame_height
508 #define png_get_next_frame_width        MOZ_APNG_get_next_frame_width
509 #define png_get_next_frame_x_offset     MOZ_APNG_get_next_frame_x_offset
510 #define png_get_next_frame_y_offset     MOZ_APNG_get_next_frame_y_offset
511 #define png_get_num_frames              MOZ_APNG_set_num_frames
512 #define png_get_num_plays               MOZ_APNG_set_num_plays
513 #define png_handle_acTL                 MOZ_APNG_handle_acTL
514 #define png_handle_fcTL                 MOZ_APNG_handle_fcTL
515 #define png_handle_fdAT                 MOZ_APNG_handle_fdAT
516 #define png_have_info                   MOZ_APNG_have_info
517 #define png_progressive_read_reset      MOZ_APNG_prog_read_reset
518 #define png_read_frame_head             MOZ_APNG_read_frame_head
519 #define png_read_reinit                 MOZ_APNG_read_reinit
520 #define png_read_reset                  MOZ_APNG_read_reset
521 #define png_set_acTL                    MOZ_APNG_set_acTL
522 #define png_set_first_frame_is_hidden   MOZ_APNG_set_first_frame_is_hidden
523 #define png_set_next_frame_fcTL         MOZ_APNG_set_next_frame_fcTL
524 #define png_set_progressive_frame_fn    MOZ_APNG_set_prog_frame_fn
525 #define png_write_acTL                  MOZ_APNG_write_acTL
526 #define png_write_fcTL                  MOZ_APNG_write_fcTL
527 #define png_write_fdAT                  MOZ_APNG_write_fdAT
528 #define png_write_frame_head            MOZ_APNG_write_frame_head
529 #define png_write_frame_tail            MOZ_APNG_write_frame_tail
530 #define png_write_reinit                MOZ_APNG_write_reinit
531 #define png_write_reset                 MOZ_APNG_write_reset
532 
533 /* libpng-1.4.x additions */
534 #define png_do_quantize                 MOZ_PNG_do_quantize
535 #define png_get_chunk_cache_max         MOZ_PNG_get_chunk_cache_max
536 #define png_get_chunk_malloc_max        MOZ_PNG_get_chunk_malloc_max
537 #define png_get_io_chunk_name           MOZ_PNG_get_io_chunk_name
538 #define png_get_io_state                MOZ_PNG_get_io_state
539 #define png_longjmp                     MOZ_PNG_longjmp
540 #define png_read_sig                    MOZ_PNG_read_sig
541 #define png_set_chunk_cache_max         MOZ_PNG_set_chunk_cache_max
542 #define png_set_chunk_malloc_max        MOZ_PNG_set_chunk_malloc_max
543 #define png_set_longjmp_fn              MOZ_PNG_set_longjmp_fn
544 #define png_set_quantize                MOZ_PNG_set_quantize
545 
546 /* libpng-1.5.x additions */
547 #define png_32bit_exp                             MOZ_PNG_32bit_exp
548 #define png_8bit_l2                               MOZ_PNG_8bit_l2
549 #define png_ascii_from_fixed                      MOZ_PNG_ascii_from_fixed
550 #define png_ascii_from_fp                         MOZ_PNG_ascii_from_fp
551 #define png_build_16bit_table                     MOZ_PNG_build_16bit_table
552 #define png_build_16to8_table                     MOZ_PNG_build_16to8_table
553 #define png_build_8bit_table                      MOZ_PNG_build_8bit_table
554 #define png_check_fp_number                       MOZ_PNG_check_fp_number
555 #define png_check_fp_string                       MOZ_PNG_check_fp_string
556 #define png_chunk_unknown_handling                MOZ_PNG_chunk_unk_handling
557 #define png_destroy_gamma_table                   MOZ_PNG_destroy_gamma_table
558 #define png_do_compose                            MOZ_PNG_do_compose
559 #define png_do_encode_alpha                       MOZ_PNG_do_encode_alpha
560 #define png_do_expand_16                          MOZ_PNG_do_expand_16
561 #define png_do_scale_16_to_8                      MOZ_PNG_do_scale_16_to_8
562 #define png_do_strip_channel                      MOZ_PNG_do_strip_channel
563 #define png_exp                                   MOZ_PNG_exp
564 #define png_exp16bit                              MOZ_PNG_exp16bit
565 #define png_exp8bit                               MOZ_PNG_exp8bit
566 #define png_fixed_inches_from_microns             MOZ_PNG_fixed_inch_from_micr
567 #define png_format_number                         MOZ_PNG_format_number
568 #define png_gamma_16bit_correct                   MOZ_PNG_gamma_16bit_correct
569 #define png_gamma_8bit_correct                    MOZ_PNG_gamma_8bit_correct
570 #define png_gamma_correct                         MOZ_PNG_gamma_correct
571 #define png_gamma_significant                     MOZ_PNG_gamma_significant
572 #define png_gamma_threshold                       MOZ_PNG_gamma_threshold
573 #define png_get_cHRM_XYZ                          MOZ_PNG_get_cHRM_XYZ
574 #define png_get_cHRM_XYZ_fixed                    MOZ_PNG_get_cHRM_XYZ_fixed
575 #define png_get_current_pass_number               MOZ_PNG_get_cur_pass_number
576 #define png_get_current_row_number                MOZ_PNG_get_cur_row_number
577 #define png_get_fixed_point                       MOZ_PNG_get_fixed_point
578 #define png_get_io_chunk_type                     MOZ_PNG_get_io_chunk_type
579 #define png_get_pixel_aspect_ratio_fixed          MOZ_PNG_get_pixel_aspect_fx
580 #define png_get_sCAL_fixed                        MOZ_PNG_get_sCAL_fixed
581 #define png_get_x_offset_inches_fixed             MOZ_PNG_get_x_offs_inches_fx
582 #define png_get_y_offset_inches_fixed             MOZ_PNG_get_y_offs_inches_fx
583 #define png_have_hwcap                            MOZ_PNG_have_hwcap
584 #define png_init_filter_functions                 MOZ_PNG_init_filt_func
585 #define png_init_filter_functions_neon            MOZ_PNG_init_filt_func_neon
586 #define png_init_filter_heuristics                MOZ_PNG_init_filt_heur
587 #define png_init_palette_transformations          MOZ_PNG_init_palette_transf
588 #define png_init_rgb_transformations              MOZ_PNG_init_rgb_transf
589 #define png_log16bit                              MOZ_PNG_log16bit
590 #define png_log8bit                               MOZ_PNG_log8bit
591 #define png_muldiv                                MOZ_PNG_muldiv
592 #define png_muldiv_warn                           MOZ_PNG_muldiv_warn
593 #define png_pow10                                 MOZ_PNG_pow10
594 #define png_process_data_pause                    MOZ_PNG_process_data_pause
595 #define png_process_data_skip                     MOZ_PNG_process_data_skip
596 #define png_product2                              MOZ_PNG_product2
597 #define png_read_filter_row_avg                   MOZ_PNG_read_filt_row_a
598 #define png_read_filter_row_avg3_neon             MOZ_PNG_read_filt_row_a3_neon
599 #define png_read_filter_row_avg4_neon             MOZ_PNG_read_filt_row_a4_neon
600 #define png_read_filter_row_paeth_1byte_pixel     MOZ_PNG_read_filt_row_p_1b_px
601 #define png_read_filter_row_paeth_multibyte_pixel MOZ_PNG_read_filt_row_p_mb_px
602 #define png_read_filter_row_paeth3_neon           MOZ_PNG_read_filt_row_p3_neon
603 #define png_read_filter_row_paeth4_neon           MOZ_PNG_read_filt_row_p4_neon
604 #define png_read_filter_row_sub                   MOZ_PNG_read_filt_row_s
605 #define png_read_filter_row_sub3_neon             MOZ_PNG_read_filt_row_s3_neon
606 #define png_read_filter_row_sub4_neon             MOZ_PNG_read_filt_row_s4_neon
607 #define png_read_filter_row_up                    MOZ_PNG_read_filt_row_up
608 #define png_read_filter_row_up_neon               MOZ_PNG_read_filt_row_up_neon
609 #define png_reciprocal                            MOZ_PNG_reciprocal
610 #define png_reciprocal2                           MOZ_PNG_reciprocal2
611 #define png_reset_filter_heuristics               MOZ_PNG_reset_filt_heur
612 #define png_safecat                               MOZ_PNG_safecat
613 #define png_set_alpha_mode                        MOZ_PNG_set_alpha_mode
614 #define png_set_alpha_mode_fixed                  MOZ_PNG_set_alpha_mode_fx
615 #define png_set_background_fixed                  MOZ_PNG_set_background_fx
616 #define png_set_cHRM_XYZ                          MOZ_PNG_set_cHRM_XYZ
617 #define png_set_cHRM_XYZ_fixed                    MOZ_PNG_set_cHRM_XYZ_fixed
618 #define png_set_expand_16                         MOZ_PNG_set_expand_16
619 #define png_set_filter_heuristics_fixed           MOZ_PNG_set_filter_heur_fx
620 #define png_set_gamma_fixed                       MOZ_PNG_set_gamma_fixed
621 #define png_set_sCAL_fixed                        MOZ_PNG_set_sCAL_fixed
622 #define png_set_scale_16                          MOZ_PNG_set_scale_16
623 #define png_set_text_compression_level            MOZ_PNG_set_text_c_level
624 #define png_set_text_compression_mem_level        MOZ_PNG_set_text_c_mem_level
625 #define png_set_text_compression_method           MOZ_PNG_set_text_c_method
626 #define png_set_text_compression_strategy         MOZ_PNG_set_text_c_strategy
627 #define png_set_text_compression_window_bits      MOZ_PNG_set_text_c_wnd_bits
628 #define png_user_version_check                    MOZ_PNG_user_version_check
629 #define png_write_chunk_header                    MOZ_PNG_write_chunk_header
630 #define png_write_complete_chunk                  MOZ_PNG_write_complete_chunk
631 #define png_xy_from_XYZ                           MOZ_PNG_xy_from_XYZ
632 #define png_XYZ_from_xy                           MOZ_PNG_XYZ_from_xy
633 #define png_XYZ_from_xy_checked                   MOZ_PNG_XYZ_from_xy_checked
634 #define png_zlib_claim                            MOZ_PNG_zlib_claim
635 #define png_zlib_release                          MOZ_PNG_zlib_release
636 #define convert_gamma_value                       MOZ_convert_gamma_value
637 #define ppi_from_ppm                              MOZ_ppi_from_ppm
638 #define translate_gamma_flags                     MOZ_translate_gamma_flags
639 
640 /* libpng-1.6.x additions */
641 #define png_app_error                             MOZ_PNG_app_err
642 #define png_app_warning                           MOZ_PNG_app_warn
643 #ifndef png_benign_error
644 #  define png_benign_error                        MOZ_PNG_benign_err
645 #endif
646 #ifndef png_chunk_benign_error
647 #  define png_chunk_benign_error                  MOZ_PNG_chunk_benign_err
648 #endif
649 #define png_chunk_report                          MOZ_PNG_chunk_report
650 #define png_colorspace_set_ICC                    MOZ_PNG_cs_set_ICC
651 #define png_colorspace_set_chromaticities         MOZ_PNG_cs_set_chromats
652 #define png_colorspace_set_endpoints              MOZ_PNG_cs_set_endpts
653 #define png_colorspace_set_gamma                  MOZ_PNG_cs_set_gamma
654 #define png_colorspace_set_sRGB                   MOZ_PNG_cs_set_sRGB
655 #define png_colorspace_sync                       MOZ_PNG_cs_sync
656 #define png_colorspace_sync_info                  MOZ_PNG_cs_sync_info
657 #define png_compress_IDAT                         MOZ_PNG_compress_IDAT
658 #define png_create_png_struct                     MOZ_PNG_create_png_struct
659 #define png_destroy_png_struct                    MOZ_PNG_destroy_png_struct
660 #define png_free_buffer_list                      MOZ_PNG_free_buffer_list
661 #define png_free_jmpbuf                           MOZ_PNG_free_jmpbuf
662 #define png_get_uint_31                           MOZ_PNG_get_uint_31
663 #define png_icc_check_header                      MOZ_PNG_icc_check_header
664 #define png_icc_check_length                      MOZ_PNG_icc_check_length
665 #define png_icc_check_tag_table                   MOZ_PNG_icc_check_tags
666 #define png_icc_set_sRGB                          MOZ_PNG_icc_set_sRGB
667 #define png_malloc_array                          MOZ_PNG_malloc_array
668 #define png_malloc_base                           MOZ_PNG_malloc_base
669 #define png_realloc_array                         MOZ_PNG_realloc_array
670 #define png_zstream_error                         MOZ_PNG_zstream_error
671 
672 #ifndef png_warning
673 #  define png_warning                     MOZ_PNG_warning
674 #endif
675 #ifndef png_chunk_error
676 #  define png_chunk_error                 MOZ_PNG_chunk_err
677 #endif
678 #ifndef png_chunk_warning
679 #  define png_chunk_warning               MOZ_PNG_chunk_warn
680 #endif
681 #define png_fixed_error                 MOZ_PNG_fixed_err
682 #define png_formatted_warning           MOZ_PNG_formatted_warning
683 #define png_warning_parameter           MOZ_PNG_warn_param
684 #define png_warning_parameter_signed    MOZ_PNG_warn_param_signed
685 #define png_warning_parameter_unsigned  MOZ_PNG_warn_param_unsigned
686 
687 #if defined(PNG_READ_PACK_SUPPORTED) || defined(PNG_WRITE_PACK_SUPPORTED)
688 #define png_set_packing  MOZ_PNG_set_packing
689 #endif
690 
691 #endif /* PNGLCONF_H */
692