23 #define PNG_SIGNATURE { { 0x89, 'P', 'N', 'G', '\r', '\n', 0x1a, '\n' } } 72 #define PNG_TYPE( first, second, third, fourth ) \ 73 ( ( (first) << 24 ) | ( (second) << 16 ) | ( (third) << 8 ) | (fourth) ) 76 #define PNG_TYPE_IHDR PNG_TYPE ( 'I', 'H', 'D', 'R' ) 107 #define PNG_COLOUR_TYPE_MASK 0x07 136 #define PNG_TYPE_PLTE PNG_TYPE ( 'P', 'L', 'T', 'E' ) 155 #define PNG_PALETTE_COUNT 256 158 #define PNG_TYPE_IDAT PNG_TYPE ( 'I', 'D', 'A', 'T' ) 175 #define PNG_TYPE_IEND PNG_TYPE ( 'I', 'E', 'N', 'D' )
static uint32_t png_canonical_type(uint32_t type)
Canonicalise PNG chunk type.
DEFLATE compression with 32kB sliding window.
uint32_t type
Operating system type.
png_chunk_type_bits
PNG chunk type property bits.
An executable image type.
#define PROBE_NORMAL
Normal image probe priority.
Above byte used as predictor.
struct image_type png_image_type __image_type(PROBE_NORMAL)
First unknown filter method.
struct png_palette_entry entries[0]
Palette entries.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
Above and left bytes used as predictors.
png_basic_filter_type
PNG basic filter types.
Left byte used as predictor.
png_filter_method
PNG filter methods.
png_colour_type
PNG colour type bits.
First unknown interlace method.
First unknown compression method.
uint8_t bytes[8]
Signature bytes.
Adaptive filtering with five basic types.
png_interlace_method
PNG interlace methods.
png_compression_method
PNG compression methods.