/*
* CINELERRA
* Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
png_set_IHDR(png_ptr, info_ptr, asset->width, asset->height, asset->png_depth,
asset->png_use_alpha ? PNG_COLOR_TYPE_RGB_ALPHA : PNG_COLOR_TYPE_RGB,
PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
-// does not work (gg 2020/03/17 libpng16 fc31)
- if( asset->png_depth == 16 && BC_Resources::little_endian )
- png_set_swap(png_ptr);
png_write_info(png_ptr, info_ptr);
+ if( BC_Resources::little_endian ) png_set_swap(png_ptr);
png_write_image(png_ptr, output_frame->get_rows());
png_write_end(png_ptr, info_ptr);
result = 0;
//printf("FilePNG::read_frame 1 %d %d\n", native_cmodel, output->get_color_model());
png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, 0, 0, 0);
+ if(!png_ptr) return 0;
info_ptr = png_create_info_struct(png_ptr);
+ if(!info_ptr) return 0;
+ if (setjmp(png_jmpbuf(png_ptr))) {
+ png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
+ return 0;
+ }
png_set_read_fn(png_ptr, input, (png_rw_ptr)read_function);
png_read_info(png_ptr, info_ptr);
compression = 0;
depth8 = 0;
depth16 = 0;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Single File Rendering");
}
PNGConfigVideo::~PNGConfigVideo()