mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[devel] Added "bit_depth" parameter to the private png_build_gamma_table()
function. Pass bit_depth=8 to png_build_gamma_table() when bit_depth is 16 but the PNG_16_TO_8 transform has been set, to avoid unnecessary build of 16-bit tables.
This commit is contained in:
12
pngrtran.c
12
pngrtran.c
@@ -1,7 +1,7 @@
|
||||
|
||||
/* pngrtran.c - transforms the data in a row for PNG readers
|
||||
*
|
||||
* Last changed in libpng 1.4.0 [December 11, 2009]
|
||||
* Last changed in libpng 1.4.0 [December 13, 2009]
|
||||
* Copyright (c) 1998-2009 Glenn Randers-Pehrson
|
||||
* (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
|
||||
* (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
|
||||
@@ -886,7 +886,11 @@ png_init_read_transformations(png_structp png_ptr)
|
||||
if ((png_ptr->transformations & (PNG_GAMMA | PNG_RGB_TO_GRAY)) &&
|
||||
png_ptr->gamma != 0.0)
|
||||
{
|
||||
png_build_gamma_table(png_ptr);
|
||||
if (png_ptr->transformations & PNG_16_TO_8)
|
||||
png_build_gamma_table(png_ptr, 8);
|
||||
else
|
||||
png_build_gamma_table(png_ptr, png_ptr->bit_depth);
|
||||
|
||||
#ifdef PNG_READ_BACKGROUND_SUPPORTED
|
||||
if (png_ptr->transformations & PNG_BACKGROUND)
|
||||
{
|
||||
@@ -3910,11 +3914,11 @@ static PNG_CONST int png_gamma_shift[] =
|
||||
*/
|
||||
|
||||
void /* PRIVATE */
|
||||
png_build_gamma_table(png_structp png_ptr)
|
||||
png_build_gamma_table(png_structp png_ptr, png_byte bit_depth)
|
||||
{
|
||||
png_debug(1, "in png_build_gamma_table");
|
||||
|
||||
if (png_ptr->bit_depth <= 8)
|
||||
if (bit_depth <= 8)
|
||||
{
|
||||
int i;
|
||||
double g;
|
||||
|
||||
Reference in New Issue
Block a user