X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilepng.C;h=8d5e2cc8142b3775afc7f744aa79dabcf00b8d27;hb=4b6c39e6cf4a3fd9c1b347db6de686ab55d6cac8;hp=6ccbf28819f51343957018d075574d54f45cbbbb;hpb=9f917bc27389ebc36568a1f465b42208f7e8e46a;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/filepng.C b/cinelerra-5.1/cinelerra/filepng.C index 6ccbf288..8d5e2cc8 100644 --- a/cinelerra-5.1/cinelerra/filepng.C +++ b/cinelerra-5.1/cinelerra/filepng.C @@ -162,7 +162,7 @@ int FilePNG::read_frame_header(char *path) asset->width = png_get_image_width(png_ptr, info_ptr); asset->height = png_get_image_height(png_ptr, info_ptr); - asset->interlace_mode = BC_ILACE_MODE_NOTINTERLACED; + asset->interlace_mode = ILACE_MODE_NOTINTERLACED; color_type = png_get_color_type(png_ptr, info_ptr); color_depth = png_get_bit_depth(png_ptr,info_ptr); @@ -254,27 +254,27 @@ int FilePNG::write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit) //printf("FilePNG::write_frame 1\n"); png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0); - if( png_ptr && !setjmp(png_jmpbuf(png_ptr)) ) { - info_ptr = png_create_info_struct(png_ptr); - png_set_write_fn(png_ptr, data, - (png_rw_ptr)write_function, (png_flush_ptr)flush_function); - png_set_compression_level(png_ptr, 5); - - png_set_IHDR(png_ptr, info_ptr, asset->width, asset->height, 8, - asset->png_use_alpha ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB, - PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); - png_write_info(png_ptr, info_ptr); - png_write_image(png_ptr, output_frame->get_rows()); - png_write_end(png_ptr, info_ptr); + if( png_ptr ) { + if( !setjmp(png_jmpbuf(png_ptr)) ) { + info_ptr = png_create_info_struct(png_ptr); + png_set_write_fn(png_ptr, data, + (png_rw_ptr)write_function, (png_flush_ptr)flush_function); + png_set_compression_level(png_ptr, 5); + + png_set_IHDR(png_ptr, info_ptr, asset->width, asset->height, 8, + asset->png_use_alpha ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB, + PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT); + png_write_info(png_ptr, info_ptr); + png_write_image(png_ptr, output_frame->get_rows()); + png_write_end(png_ptr, info_ptr); + result = 0; + } png_destroy_write_struct(&png_ptr, &info_ptr); - result = 0; } - else { + if( result ) { char error[256]; png_error(png_ptr, error); fprintf(stderr, "FilePNG::write_frame failed: %s\n", error); } - - png_destroy_write_struct(&png_ptr, &info_ptr); //printf("FilePNG::write_frame 3 %d\n", data->get_compressed_size()); return result; }