Home | History | Annotate | Download | only in images

Lines Matching defs:png_ptr

37         png_ptr = NULL;
40 if (png_ptr) {
41 png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
47 png_structp png_ptr;
75 bool decodePalette(png_structp png_ptr, png_infop info_ptr,
77 bool getBitmapConfig(png_structp png_ptr, png_infop info_ptr,
84 # define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
91 PNGAutoClean(png_structp p, png_infop i): png_ptr(p), info_ptr(i) {}
93 png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
96 png_structp png_ptr;
100 static void sk_read_fn(png_structp png_ptr, png_bytep data, png_size_t length) {
101 SkStream* sk_stream = (SkStream*) png_ptr->io_ptr;
104 png_error(png_ptr, "Read Error!");
108 static void sk_seek_fn(png_structp png_ptr, png_uint_32 offset) {
109 SkStream* sk_stream = (SkStream*) png_ptr->io_ptr;
114 static int sk_read_user_chunk(png_structp png_ptr, png_unknown_chunkp chunk) {
116 (SkImageDecoder::Peeker*)png_get_user_chunk_ptr(png_ptr);
122 static void sk_error_fn(png_structp png_ptr, png_const_charp msg) {
126 longjmp(png_jmpbuf(png_ptr), 1);
129 static void skip_src_rows(png_structp png_ptr, uint8_t storage[], int count) {
132 png_read_rows(png_ptr, &tmp, png_bytepp_NULL, 1);
173 static bool hasTransparencyInPalette(png_structp png_ptr, png_infop info_ptr) {
177 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
178 png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL);
192 png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
195 if (png_ptr == NULL) {
198 *png_ptrp = png_ptr;
201 png_infop info_ptr = png_create_info_struct(png_ptr);
203 png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
212 if (setjmp(png_jmpbuf(png_ptr))) {
219 png_set_read_fn(png_ptr, (void *)sk_stream, sk_read_fn);
220 png_set_seek_fn(png_ptr, sk_seek_fn);
223 // png_set_sig_bytes(png_ptr, 0 /* sig_read */ );
226 png_set_keep_unknown_chunks(png_ptr, PNG_HANDLE_CHUNK_ALWAYS, (png_byte*)"", 0);
228 png_set_read_user_chunk_fn(png_ptr, (png_voidp)this->getPeeker(), sk_read_user_chunk);
233 png_read_info(png_ptr, info_ptr);
236 png_get_IHDR(png_ptr, info_ptr, &origWidth, &origHeight, &bit_depth,
241 png_set_strip_16(png_ptr);
246 png_set_packing(png_ptr);
250 png_set_gray_1_2_4_to_8(png_ptr);
256 png_set_gray_to_rgb(png_ptr);
263 png_structp png_ptr;
266 if (onDecodeInit(sk_stream, &png_ptr, &info_ptr) == false) {
270 if (setjmp(png_jmpbuf(png_ptr))) {
274 PNGAutoClean autoClean(png_ptr, info_ptr);
278 png_get_IHDR(png_ptr, info_ptr, &origWidth, &origHeight, &bit_depth,
286 if (getBitmapConfig(png_ptr, info_ptr, &config, &hasAlpha,
309 decodePalette(png_ptr, info_ptr, &hasAlpha,
325 png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
333 png_set_interlace_handling(png_ptr) : 1;
339 png_read_update_info(png_ptr, info_ptr);
345 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
380 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
393 skip_src_rows(png_ptr, srcRow, sampler.srcY0());
397 png_read_rows(png_ptr, &tmp, png_bytepp_NULL, 1);
400 skip_src_rows(png_ptr, srcRow, sampler.srcDY() - 1);
408 skip_src_rows(png_ptr, srcRow, origHeight - read);
413 png_read_end(png_ptr, info_ptr);
424 png_structp png_ptr;
429 if (onDecodeInit(sk_stream, &png_ptr, &info_ptr) == false) {
435 png_get_IHDR(png_ptr, info_ptr, &origWidth, &origHeight, &bit_depth,
441 png_build_index(png_ptr);
442 this->index->png_ptr = png_ptr;
447 bool SkPNGImageDecoder::getBitmapConfig(png_structp png_ptr, png_infop info_ptr,
452 png_get_IHDR(png_ptr, info_ptr, &origWidth, &origHeight, &bit_depth,
472 bool paletteHasAlpha = hasTransparencyInPalette(png_ptr, info_ptr);
482 png_get_tRNS(png_ptr, info_ptr, NULL, &numTransp, &transpColor);
484 bool valid = png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS);
551 bool SkPNGImageDecoder::decodePalette(png_structp png_ptr, png_infop info_ptr,
560 png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette);
573 if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
574 png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, NULL);
612 png_structp png_ptr = this->index->png_ptr;
614 if (setjmp(png_jmpbuf(png_ptr))) {
623 png_get_IHDR(png_ptr, info_ptr, &origWidth, &origHeight, &bit_depth,
631 if (getBitmapConfig(png_ptr, info_ptr, &config, &hasAlpha,
654 decodePalette(png_ptr, info_ptr, &hasAlpha,
670 png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
678 png_set_interlace_handling(png_ptr) : 1;
684 png_ptr->pass = 0;
685 png_read_update_info(png_ptr, info_ptr);
693 png_configure_decoder(png_ptr, &actualTop, i);
696 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
700 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
732 png_configure_decoder(png_ptr, &actualTop, i);
735 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
740 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
754 png_configure_decoder(png_ptr, &actualTop, 0);
755 skip_src_rows(png_ptr, srcRow, sampler.srcY0());
759 png_read_rows(png_ptr, &bmRow, png_bytepp_NULL, 1);
763 png_read_rows(png_ptr, &tmp, png_bytepp_NULL, 1);
766 skip_src_rows(png_ptr, srcRow, sampler.srcDY() - 1);
786 static void sk_write_fn(png_structp png_ptr, png_bytep data, png_size_t len) {
787 SkWStream* sk_stream = (SkWStream*)png_ptr->io_ptr;
789 png_error(png_ptr, "sk_write_fn Error!");
1054 png_structp png_ptr;
1057 png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, sk_error_fn,
1059 if (NULL == png_ptr) {
1063 info_ptr = png_create_info_struct(png_ptr);
1065 png_destroy_write_struct(&png_ptr, png_infopp_NULL);
1072 if (setjmp(png_jmpbuf(png_ptr))) {
1073 png_destroy_write_struct(&png_ptr, &info_ptr);
1077 png_set_write_fn(png_ptr, (void*)stream, sk_write_fn, png_flush_ptr_NULL);
1088 png_set_IHDR(png_ptr, info_ptr, bitmap.width(), bitmap.height(),
1099 png_set_PLTE(png_ptr, info_ptr, paletteColors, ct->count());
1101 png_set_tRNS(png_ptr, info_ptr, trans, numTrans, NULL);
1105 png_set_sBIT(png_ptr, info_ptr, &sig_bit);
1106 png_write_info(png_ptr, info_ptr);
1116 png_write_rows(png_ptr, &row_ptr, 1);
1120 png_write_end(png_ptr, info_ptr);
1123 png_destroy_write_struct(&png_ptr, &info_ptr);