1LIBPNGPF(3) Library Functions Manual LIBPNGPF(3)
2
3
4
6 libpng - Portable Network Graphics (PNG) Reference Library 1.2.50 (pri‐
7 vate functions)
8
10 #include <png.h>
11
12
13
14 void png_64bit_product (long v1, long v2, unsigned long *hi_product,
15
16 unsigned long *lo_product);
17
18
19
20 void png_build_gamma_table (png_structp png_ptr);
21
22
23
24
25
26 void png_build_grayscale_palette (int bit_depth, png_colorp palette);
27
28
29
30
31
32 void png_calculate_crc (png_structp png_ptr, png_bytep ptr, png_size_t
33 length);
34
35
36
37
38
39 int png_check_cHRM_fixed (png_structp png_ptr, png_fixed_point
40 int_white_x, png_fixed_point int_white_y, png_fixed_point int_red_x,
41 png_fixed_point int_red_y, png_fixed_point int_green_x, png_fixed_point
42 int_green_y, png_fixed_point int_blue_x, png_fixed_point int_blue_y);
43
44
45
46
47
48 void png_check_IHDR (png_structp png_ptr, png_uint_32 width,
49 png_uint_32 height, int bit_depth, int color_type, int interlace_type,
50 int compression_type, int filter_type);
51
52
53
54
55
56 void png_check_chunk_name (png_structp png_ptr, png_bytep chunk_name);
57
58
59
60
61
62 png_size_t png_check_keyword (png_structp png_ptr, png_charp key,
63 png_charpp new_key);
64
65
66
67
68
69 void png_combine_row (png_structp png_ptr, png_bytep row, int mask);
70
71
72
73
74
75 void png_correct_palette (png_structp png_ptr, png_colorp palette, int
76 num_palette);
77
78
79
80
81
82 int png_crc_error (png_structp png_ptr);
83
84
85
86
87
88 int png_crc_finish (png_structp png_ptr, png_uint_32 skip);
89
90
91
92
93
94 void png_crc_read (png_structp png_ptr, png_bytep buf, png_size_t
95 length);
96
97
98
99
100
101 png_voidp png_create_struct (int type);
102
103
104
105
106
107 png_voidp png_create_struct_2 (int type, png_malloc_ptr malloc_fn,
108 png_voidp mem_ptr);
109
110
111
112
113
114 void png_decompress_chunk (png_structp png_ptr, int comp_type,
115 png_charp chunkdata, png_size_t chunklength, png_size_t prefix_length,
116 png_size_t *data_length);
117
118
119
120
121
122 void png_destroy_struct (png_voidp struct_ptr);
123
124
125
126
127
128 void png_destroy_struct_2 (png_voidp struct_ptr, png_free_ptr free_fn,
129 png_voidp mem_ptr);
130
131
132
133
134
135 void png_do_background (png_row_infop row_info, png_bytep row,
136 png_color_16p trans_values, png_color_16p background, png_color_16p
137 background_1, png_bytep gamma_table, png_bytep gamma_from_1, png_bytep
138 gamma_to_1, png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1,
139 png_uint_16pp gamma_16_to_1, int gamma_shift);
140
141
142
143
144
145 void png_do_bgr (png_row_infop row_info, png_bytep row);
146
147
148
149
150
151 void png_do_chop (png_row_infop row_info, png_bytep row);
152
153
154
155
156
157 void png_do_dither (png_row_infop row_info, png_bytep row, png_bytep
158 palette_lookup, png_bytep dither_lookup);
159
160
161
162
163
164 void png_do_expand (png_row_infop row_info, png_bytep row,
165 png_color_16p trans_value);
166
167
168
169
170
171 void png_do_expand_palette (png_row_infop row_info, png_bytep row,
172 png_colorp palette, png_bytep trans, int num_trans);
173
174
175
176
177
178 void png_do_gamma (png_row_infop row_info, png_bytep row, png_bytep
179 gamma_table, png_uint_16pp gamma_16_table, int gamma_shift);
180
181
182
183
184
185 void png_do_gray_to_rgb (png_row_infop row_info, png_bytep row);
186
187
188
189
190
191 void png_do_invert (png_row_infop row_info, png_bytep row);
192
193
194
195
196
197 void png_do_pack (png_row_infop row_info, png_bytep row, png_uint_32
198 bit_depth);
199
200
201
202
203
204 void png_do_packswap (png_row_infop row_info, png_bytep row);
205
206
207
208
209
210 void png_do_read_filler (png_row_infop row_info, png_bytep row,
211 png_uint_32 filler, png_uint_32 flags);
212
213
214
215
216
217 void png_do_read_interlace (png_row_infop row_info, png_bytep row, int
218 pass, png_uint_32 transformations);
219
220
221
222
223
224 void png_do_read_invert_alpha (png_row_infop row_info, png_bytep row);
225
226
227
228
229
230 void png_do_read_swap_alpha (png_row_infop row_info, png_bytep row);
231
232
233
234
235
236 void png_do_read_transformations (png_structp png_ptr);
237
238
239
240
241
242 int png_do_rgb_to_gray (png_row_infop row_info, png_bytep row);
243
244
245
246
247
248 void png_do_shift (png_row_infop row_info, png_bytep row, png_color_8p
249 bit_depth);
250
251
252
253
254
255 void png_do_strip_filler (png_row_infop row_info, png_bytep row,
256 png_uint_32 flags);
257
258
259
260
261
262 void png_do_swap (png_row_infop row_info, png_bytep row);
263
264
265
266
267
268 void png_do_unpack (png_row_infop row_info, png_bytep row);
269
270
271
272
273
274 void png_do_unshift (png_row_infop row_info, png_bytep row,
275 png_color_8p sig_bits);
276
277
278
279
280
281 void png_do_write_interlace (png_row_infop row_info, png_bytep row, int
282 pass);
283
284
285
286
287
288 void png_do_write_invert_alpha (png_row_infop row_info, png_bytep row);
289
290
291
292
293
294 void png_do_write_swap_alpha (png_row_infop row_info, png_bytep row);
295
296
297
298
299
300 void png_do_write_transformations (png_structp png_ptr);
301
302
303
304
305
306 void *png_far_to_near (png_structp png_ptr,png_voidp ptr, int check);
307
308
309
310
311
312 void png_flush (png_structp png_ptr);
313
314
315
316
317
318 void png_handle_bKGD (png_structp png_ptr, png_infop info_ptr,
319 png_uint_32 length);
320
321
322
323
324
325 void png_handle_cHRM (png_structp png_ptr, png_infop info_ptr,
326 png_uint_32 length);
327
328
329
330
331
332 void png_handle_gAMA (png_structp png_ptr, png_infop info_ptr,
333 png_uint_32 length);
334
335
336
337
338
339 void png_handle_hIST (png_structp png_ptr, png_infop info_ptr,
340 png_uint_32 length);
341
342
343
344
345
346 void png_handle_IEND (png_structp png_ptr, png_infop info_ptr,
347 png_uint_32 length);
348
349
350
351
352
353 void png_handle_IHDR (png_structp png_ptr, png_infop info_ptr,
354 png_uint_32 length);
355
356
357
358
359
360 void png_handle_iCCP (png_structp png_ptr, png_infop info_ptr,
361 png_uint_32 length);
362
363
364
365
366
367 void png_handle_iTXt (png_structp png_ptr, png_infop info_ptr,
368 png_uint_32 length);
369
370
371
372
373
374 void png_handle_oFFs (png_structp png_ptr, png_infop info_ptr,
375 png_uint_32 length);
376
377
378
379
380
381 void png_handle_pCAL (png_structp png_ptr, png_infop info_ptr,
382 png_uint_32 length);
383
384
385
386
387
388 void png_handle_pHYs (png_structp png_ptr, png_infop info_ptr,
389 png_uint_32 length);
390
391
392
393
394
395 void png_handle_PLTE (png_structp png_ptr, png_infop info_ptr,
396 png_uint_32 length);
397
398
399
400
401
402 void png_handle_sBIT (png_structp png_ptr, png_infop info_ptr,
403 png_uint_32 length);
404
405
406
407
408
409 void png_handle_sCAL (png_structp png_ptr, png_infop info_ptr,
410 png_uint_32 length);
411
412
413
414
415
416 void png_handle_sPLT (png_structp png_ptr, png_infop info_ptr,
417 png_uint_32 length);
418
419
420
421
422
423 void png_handle_sRGB (png_structp png_ptr, png_infop info_ptr,
424 png_uint_32 length);
425
426
427
428
429
430 void png_handle_tEXt (png_structp png_ptr, png_infop info_ptr,
431 png_uint_32 length);
432
433
434
435
436
437 void png_handle_tIME (png_structp png_ptr, png_infop info_ptr,
438 png_uint_32 length);
439
440
441
442
443
444 void png_handle_tRNS (png_structp png_ptr, png_infop info_ptr,
445 png_uint_32 length);
446
447
448
449
450
451 void png_handle_unknown (png_structp png_ptr, png_infop info_ptr,
452 png_uint_32 length);
453
454
455
456
457
458 void png_handle_zTXt (png_structp png_ptr, png_infop info_ptr,
459 png_uint_32 length);
460
461
462
463
464
465 void png_info_destroy (png_structp png_ptr, png_infop info_ptr);
466
467
468
469
470
471 void png_init_mmx_flags (png_structp png_ptr);
472
473
474
475
476
477 void png_init_read_transformations (png_structp png_ptr);
478
479
480
481
482
483 void png_process_IDAT_data (png_structp png_ptr, png_bytep buffer,
484 png_size_t buffer_length);
485
486
487
488
489
490 void png_process_some_data (png_structp png_ptr, png_infop info_ptr);
491
492
493
494
495
496 void png_push_check_crc (png_structp png_ptr);
497
498
499
500
501
502 void png_push_crc_finish (png_structp png_ptr);
503
504
505
506
507
508 void png_push_crc_skip (png_structp png_ptr, png_uint_32 length);
509
510
511
512
513
514 void png_push_fill_buffer (png_structp png_ptr, png_bytep buffer,
515 png_size_t length);
516
517
518
519
520
521 void png_push_handle_tEXt (png_structp png_ptr, png_infop info_ptr,
522 png_uint_32 length);
523
524
525
526
527
528 void png_push_handle_unknown (png_structp png_ptr, png_infop info_ptr,
529 png_uint_32 length);
530
531
532
533
534
535 void png_push_handle_zTXt (png_structp png_ptr, png_infop info_ptr,
536 png_uint_32 length);
537
538
539
540
541
542 void png_push_have_end (png_structp png_ptr, png_infop info_ptr);
543
544
545
546
547
548 void png_push_have_info (png_structp png_ptr, png_infop info_ptr);
549
550
551
552
553
554 void png_push_have_row (png_structp png_ptr, png_bytep row);
555
556
557
558
559
560 void png_push_process_row (png_structp png_ptr);
561
562
563
564
565
566 void png_push_read_chunk (png_structp png_ptr, png_infop info_ptr);
567
568
569
570
571
572 void png_push_read_end (png_structp png_ptr, png_infop info_ptr);
573
574
575
576
577
578 void png_push_read_IDAT (png_structp png_ptr);
579
580
581
582
583
584 void png_push_read_sig (png_structp png_ptr, png_infop info_ptr);
585
586
587
588
589
590 void png_push_read_tEXt (png_structp png_ptr, png_infop info_ptr);
591
592
593
594
595
596 void png_push_read_zTXt (png_structp png_ptr, png_infop info_ptr);
597
598
599
600
601
602 void png_push_restore_buffer (png_structp png_ptr, png_bytep buffer,
603 png_size_t buffer_length);
604
605
606
607
608
609 void png_push_save_buffer (png_structp png_ptr);
610
611
612
613
614
615 png_uint_32 png_read_chunk_header (png_structp png_ptr);
616
617
618
619
620
621 void png_read_data (png_structp png_ptr, png_bytep data, png_size_t
622 length);
623
624
625
626
627
628 void png_read_filter_row (png_structp png_ptr, png_row_infop row_info,
629 png_bytep row, png_bytep prev_row, int filter);
630
631
632
633
634
635 void png_read_finish_row (png_structp png_ptr);
636
637
638
639
640
641 void png_read_push_finish_row (png_structp png_ptr);
642
643
644
645
646
647 void png_read_start_row (png_structp png_ptr);
648
649
650
651
652
653 void png_read_transform_info (png_structp png_ptr, png_infop info_ptr);
654
655
656
657
658
659 void png_reset_crc (png_structp png_ptr);
660
661
662
663
664
665 int png_set_text_2 (png_structp png_ptr, png_infop info_ptr, png_textp
666 text_ptr, int num_text);
667
668
669
670
671
672 void png_write_cHRM (png_structp png_ptr, double white_x, double
673 white_y, double red_x, double red_y, double green_x, double green_y,
674 double blue_x, double blue_y);
675
676
677
678
679
680 void png_write_cHRM_fixed (png_structp png_ptr, png_uint_32 white_x,
681 png_uint_32 white_y, png_uint_32 red_x, png_uint_32 red_y, png_uint_32
682 green_x, png_uint_32 green_y, png_uint_32 blue_x, png_uint_32 blue_y);
683
684
685
686
687
688 void png_write_data (png_structp png_ptr, png_bytep data, png_size_t
689 length);
690
691
692
693
694
695 void png_write_filtered_row (png_structp png_ptr, png_bytep fil‐
696 tered_row);
697
698
699
700
701
702 void png_write_find_filter (png_structp png_ptr, png_row_infop
703 row_info);
704
705
706
707
708
709 void png_write_finish_row (png_structp png_ptr);
710
711
712
713
714
715 void png_write_gAMA (png_structp png_ptr, double file_gamma);
716
717
718
719
720
721 void png_write_gAMA_fixed (png_structp png_ptr, png_uint_32
722 int_file_gamma);
723
724
725
726
727
728 void png_write_hIST (png_structp png_ptr, png_uint_16p hist, int
729 num_hist);
730
731
732
733
734
735 void png_write_iCCP (png_structp png_ptr, png_charp name, int compres‐
736 sion_type, png_charp profile, int proflen);
737
738
739
740
741
742 void png_write_IDAT (png_structp png_ptr, png_bytep data, png_size_t
743 length);
744
745
746
747
748
749 void png_write_IEND (png_structp png_ptr);
750
751
752
753
754
755 void png_write_IHDR (png_structp png_ptr, png_uint_32 width,
756 png_uint_32 height, int bit_depth, int color_type, int compres‐
757 sion_type, int filter_type, int interlace_type);
758
759
760
761
762
763 void png_write_iTXt (png_structp png_ptr, int compression, png_charp
764 key, png_charp lang, png_charp translated_key, png_charp text);
765
766
767
768
769
770 void png_write_oFFs (png_structp png_ptr, png_uint_32 x_offset,
771 png_uint_32 y_offset, int unit_type);
772
773
774
775
776
777 void png_write_pCAL (png_structp png_ptr, png_charp purpose, png_int_32
778 X0, png_int_32 X1, int type, int nparams, png_charp units, png_charpp
779 params);
780
781
782
783
784
785 void png_write_pHYs (png_structp png_ptr, png_uint_32 x_pix‐
786 els_per_unit, png_uint_32 y_pixels_per_unit, int unit_type);
787
788
789
790
791
792 void png_write_PLTE (png_structp png_ptr, png_colorp palette,
793 png_uint_32 num_pal);
794
795
796
797
798
799 void png_write_sBIT (png_structp png_ptr, png_color_8p sbit, int
800 color_type);
801
802
803
804
805
806 void png_write_sCAL (png_structp png_ptr, png_charp unit, double width,
807 double height);
808
809
810
811
812
813 void png_write_sCAL_s (png_structp png_ptr, png_charp unit, png_charp
814 width, png_charp height);
815
816
817
818
819
820 void png_write_sig (png_structp png_ptr);
821
822
823
824
825
826 void png_write_sRGB (png_structp png_ptr, int intent);
827
828
829
830
831
832 void png_write_sPLT (png_structp png_ptr, png_spalette_p palette);
833
834
835
836
837
838 void png_write_start_row (png_structp png_ptr);
839
840
841
842
843
844 void png_write_tEXt (png_structp png_ptr, png_charp key, png_charp
845 text, png_size_t text_len);
846
847
848
849
850
851 void png_write_tIME (png_structp png_ptr, png_timep mod_time);
852
853
854
855
856
857 void png_write_tRNS (png_structp png_ptr, png_bytep trans,
858 png_color_16p values, int number, int color_type);
859
860
861
862
863
864 void png_write_zTXt (png_structp png_ptr, png_charp key, png_charp
865 text, png_size_t text_len, int compression);
866
867
868
869
870
871 voidpf png_zalloc (voidpf png_ptr, uInt items, uInt size);
872
873
874
875
876
877 void png_zfree (voidpf png_ptr, voidpf ptr);
878
879
880
881
882
883
885 The functions listed above are used privately by libpng and are not
886 recommended for use by applications. They are not "exported" to appli‐
887 cations using shared libraries. They are listed alphabetically here as
888 an aid to libpng maintainers. See png.h for more information on these
889 functions.
890
891
893 libpng(3), png(5)
894
896 Glenn Randers-Pehrson
897
898
899
900 July 10, 2012 LIBPNGPF(3)