Lines Matching +full:- +full:w

4 Copyright (c) 2005-2020 Lode Vandevenne
6 This software is provided 'as-is', without any express or implied
40 -DLODEPNG_NO_COMPILE_ZLIB for gcc.
119 After decoding, its size is w * h * (bytes per pixel) bytes larger than
122 Note: for 16-bit per channel colors, uses big endian format like PNG does.
123 w: Output parameter. Pointer to width of pixel data.
131 unsigned lodepng_decode_memory(unsigned char** out, unsigned* w, unsigned* h,
135 /*Same as lodepng_decode_memory, but always decodes to 32-bit RGBA raw image*/
136 unsigned lodepng_decode32(unsigned char** out, unsigned* w, unsigned* h,
139 /*Same as lodepng_decode_memory, but always decodes to 24-bit RGB raw image*/
140 unsigned lodepng_decode24(unsigned char** out, unsigned* w, unsigned* h,
148 unsigned lodepng_decode_file(unsigned char** out, unsigned* w, unsigned* h,
152 /*Same as lodepng_decode_file, but always decodes to 32-bit RGBA raw image.*/
153 unsigned lodepng_decode32_file(unsigned char** out, unsigned* w, unsigned* h,
156 /*Same as lodepng_decode_file, but always decodes to 24-bit RGB raw image.*/
157 unsigned lodepng_decode24_file(unsigned char** out, unsigned* w, unsigned* h,
168 Note: for 16-bit per channel colors, needs big endian format like PNG does.
173 w * h * (bytes per pixel), bytes per pixel depends on colortype and bitdepth.
174 w: width of the raw pixel data in pixels.
181 const unsigned char* image, unsigned w, unsigned h,
184 /*Same as lodepng_encode_memory, but always encodes from 32-bit RGBA raw image.*/
186 const unsigned char* image, unsigned w, unsigned h);
188 /*Same as lodepng_encode_memory, but always encodes from 24-bit RGB raw image.*/
190 const unsigned char* image, unsigned w, unsigned h);
199 const unsigned char* image, unsigned w, unsigned h,
202 /*Same as lodepng_encode_file, but always encodes from 32-bit RGBA raw image.*/
204 const unsigned char* image, unsigned w, unsigned h);
206 /*Same as lodepng_encode_file, but always encodes from 24-bit RGB raw image.*/
208 const unsigned char* image, unsigned w, unsigned h);
217 is the format to output the pixels to. Default is RGBA 8-bit per channel.*/
218 unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h,
221 unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h,
229 unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h,
239 const unsigned char* in, unsigned w, unsigned h,
242 const std::vector<unsigned char>& in, unsigned w, unsigned h,
246 Converts 32-bit RGBA raw pixel data into a PNG file on disk.
251 const unsigned char* in, unsigned w, unsigned h,
254 const std::vector<unsigned char>& in, unsigned w, unsigned h,
283 Should return 0 if success, any non-0 if error (numeric value not exposed).*/
289 Should return 0 if success, any non-0 if error (numeric value not exposed).*/
366 …s color uses the same bit depth as the bitdepth value in this struct, which can be 1-bit to 16-bit.
408 Check if the given color info indicates the possibility of having non-opaque pixels in the PNG imag…
411 In detail, it returns true only if it's a color type with alpha, or has a palette with non-opaque v…
416 size_t lodepng_get_raw_size(unsigned w, unsigned h, const LodePNGColorMode* color);
421 unsigned year; /*2 bytes used (0-65535)*/
422 unsigned month; /*1-12*/
423 unsigned day; /*1-31*/
424 unsigned hour; /*0-23*/
425 unsigned minute; /*0-59*/
426 unsigned second; /*0-60 (to allow for leap seconds)*/
455 When encoding, avoid setting this to an expensive color, such as a non-gray value
468 Non-international text chunks (tEXt and zTXt)
485 Standard text chunk keywords and strings are encoded using Latin-1.
493 Similar to the non-international text chunks, but with additional strings
495 keys: Latin-1, langtags: ASCII, transkeys and strings: UTF-8.
496 keys must be 1-79 characters (plus the additional null terminator), the other
502 char** itext_transkeys; /*keyword translated to the international language - UTF-8 string*/
503 char** itext_strings; /*the actual international text - UTF-8 string*/
559 … encoding, the ICC profile is required by the PNG specification to be an "RGB" profile for non-gray
563 …error if the pixel data has non-gray pixels for a GRAY profile, or a silent less-optimal compressi…
570 char* iccp_name; /* Null terminated string with profile name, 1-79 bytes */
594 or any non-standard PNG chunk.
628 The out buffer must have size (w * h * bpp + 7) / 8, where bpp is the bits per pixel
631 For 16-bit per channel colors, uses big endian format like PNG does.
636 unsigned w, unsigned h);
694 Brute-force-search PNG filters by compressing each filter for each scanline.
708 …unsigned short key_r; /*key values, always as 16-bit, in 8-bit case the byte is duplicated, e.g. 6…
714 …unsigned bits; /*bits per channel (not for palette). 1,2 or 4 for grayscale only. 16 if 16-bit per…
727 const unsigned char* image, unsigned w, unsigned h,
790 unsigned lodepng_decode(unsigned char** out, unsigned* w, unsigned* h,
799 unsigned lodepng_inspect(unsigned* w, unsigned* h,
809 chunk_pointer - start_of_file as pos).
811 Ignores unsupported, unknown, non-metadata or IHDR chunks (without error).
822 const unsigned char* image, unsigned w, unsigned h,
835 -4 bytes length: length of the data of the chunk in bytes (chunk itself is 12 bytes longer)
836 -4 bytes chunk type (ASCII a-z,A-Z only, see below)
837 -length bytes of data (may be 0 bytes if length was 0)
838 -4 bytes of CRC, computed on chunk name + data
844 -First byte: uppercase = critical, lowercase = ancillary
845 -Second byte: uppercase = public, lowercase = private
846 -Third byte: must be uppercase
847 -Fourth byte: uppercase = unsafe to copy, lowercase = safe to copy
857 /*puts the 4-byte type in null terminated string*/
891 In a non-corrupt PNG file, the last chunk should have name "IEND".
909 and data separately. The type is a 4-letter string.
959 Find length-limited Huffman code for given frequencies. This function is in the
1009 unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h,
1012 unsigned decode(std::vector<unsigned char>& out, unsigned& w, unsigned& h,
1020 const unsigned char* in, unsigned w, unsigned h,
1023 const std::vector<unsigned char>& in, unsigned w, unsigned h,
1044 /* Zlib-decompress an unsigned char buffer */
1048 /* Zlib-decompress an std::vector */
1054 /* Zlib-compress an unsigned char buffer */
1058 /* Zlib-compress an std::vector */
1068 [.] test if there are no memory leaks or security exploits - done a lot but needs to be checked oft…
1069 [.] check compatibility with various compilers - done but needs to be redone for every newer versi…
1070 [X] converting color to 16-bit per channel types
1073 [ ] make sure encoder generates no chunks with size > (2^31)-1
1094 ---------------------
1097 --------------------
1110 6.4. A note about 16-bits per channel and endianness
1123 --------
1129 Specification (Second Edition) - W3C Recommendation 10 November 2003.
1134 http://www.w3.org/TR/2003/REC-PNG-20031110
1136 http://www.gzip.org/zlib/rfc-zlib.html
1138 http://www.gzip.org/zlib/rfc-deflate.html
1147 -lodepng.h: the header file for both C and C++
1148 -lodepng.c(pp): give it the name lodepng.c or lodepng.cpp (or .cc) depending on your usage
1166 begin), life-critical systems, ...
1169 -----------------------
1173 *) decoding of PNGs with any color type, bit depth and interlace mode, to a 24- or 32-bit color raw…
1175 *) encoding of PNGs, from any raw image to 24- or 32-bit color, or the same color type as the raw i…
1203 ---------------------------
1207 *) some features needed to make a conformant PNG-Editor might be still missing.
1216 --------------------
1226 the additional C++ code is in "#ifdef __cplusplus" blocks that make C-compilers
1237 -----------
1243 as the C-style structs when working with C++. The following conventions are used
1244 for all C-style structs:
1246 -if a struct has a corresponding init function, always call the init function when making a new one
1247 -if a struct has a corresponding cleanup function, call it before the struct disappears to avoid me…
1248 -if a struct has a corresponding copy function, use the copy function instead of "=".
1253 -----------
1270 --------------------
1281 -------------------------
1289 By default, 32-bit color is used for the result.
1292 ------------------------------
1304 -----------
1325 --------------------
1343 -------------------------
1349 By default, 32-bit color is assumed, meaning your input has to be in RGBA
1353 ------------------------------
1355 The following settings are supported (some are in sub-structs):
1364 *) windowsize: the window size used by the LZ77 encoder (1 - 32768). Has value
1377 --------------------
1397 By default, when decoding, you get the raw image in 32-bit RGBA or 24-bit RGB
1400 the input image to be 32-bit RGBA or 24-bit RGB. So, unless you want to control
1404 --------------------
1406 A PNG image can have many color types, ranging from 1-bit color to 64-bit color,
1424 ----------------------
1450 -the decoder converts from PNG to raw image
1451 -the encoder converts from raw image to PNG
1452 -the colortype and bitdepth in LodePNGColorMode info_raw, are those of the raw image
1453 -the colortype and bitdepth in the color field of LodePNGInfo info_png, are those of the PNG
1454 -when encoding, the color type in LodePNGInfo is ignored if auto_convert
1456 -when decoding, the color type in LodePNGInfo is set by the decoder to that of the original
1458 -if the color type of the LodePNGColorMode and PNG image aren't the same, a conversion
1461 -even though some conversions aren't supported, LodePNG supports loading PNGs from any
1464 -both encoder and decoder use the same color converter.
1471 -color to grayscale when non-gray pixels are present: no error is thrown, but
1474 no error is given is to allow converting from three-channel grayscale images to
1475 one-channel even if there are numerical imprecisions.
1476 -anything to palette when the palette does not have an exact match for a from-color
1480 -anything to 8-bit RGB, 8-bit RGBA, 16-bit RGB, 16-bit RGBA
1481 -any gray or gray+alpha, to gray or gray+alpha
1482 -anything to a palette, as long as the palette has the requested colors in it
1483 -removing alpha channel
1484 -higher to smaller bitdepth, and vice versa
1487 -In the encoder, you can make it save a PNG with any color type by giving the
1490 -In the decoder, you can make it store the pixel data in the same color type
1495 -----------------
1497 In the PNG file format, if a less than 8-bit per pixel color type is used and the scanlines
1501 will NOT have these padding bits, e.g. in the case of a 1-bit image with a width
1505 6.4. A note about 16-bits per channel and endianness
1506 ----------------------------------------------------
1508 LodePNG uses unsigned char arrays for 16-bit per channel colors too, just like
1509 for any other color format. The 16-bit values are stored in big endian (most
1515 LodePNG on purpose, there are myriads of formats, including endianness of 16-bit
1521 always needed, many applications and libraries support big endian 16-bit colors
1527 ---------------
1530 OK, or a non-zero code if there was an error.
1541 only 0 or non-0 matter.
1545 -------------------------
1560 -----------------------------
1614 function creates a new chunk with the given parameters and appends it. Type is the 4-letter
1618 -----------------------
1650 -------------------
1671 warnings with compiler options "-Wall -Wextra -pedantic -ansi", with gcc and g++
1672 version 4.7.1 on Linux, 32-bit and 64-bit.
1676 Fully supported and warning-free.
1685 LodePNG should be warning-free with warning level W4. Two warnings were disabled
1687 where it wants to use a non-standard function fopen_s instead of the standard C
1711 ------------
1717 -------------------------
1737 -----------------------
1758 ----------------------------
1802 -----------
1819 if gray ICC profile) and non-ICC LodePNGColorProfile renamed to
1831 *) 18 apr 2016: Changed qsort to custom stable sort (for platforms w/o qsort).
1836 *) 18 apr 2015: Boundary PM instead of just package-merge for faster encoding.
1874 *) 17 apr 2011: code cleanup. Bugfixes. Convert low to 16-bit per sample colors.
1898 *) 13 jan 2008: Added ability to encode Adam7-interlaced images. Improved
1908 *) 08 jun 2007: fixed bug with 2- and 4-bit color, and small interlaced images
1925 *) 27 jan 2007: Made the Adler-32 test faster so that a timewaste is gone.
1927 greyscale type to 8-bit greyscale with or without alpha.
1940 Fixed a bug of the decoder with 16-bit per color.
1969 -----------------------
1980 Copyright (c) 2005-2020 Lode Vandevenne