Scroll to navigation

decenc_png.c(3) Library Functions Manual decenc_png.c(3)

NAME

decenc_png.c - Decode/encode a PNG stream.

SYNOPSIS

#include 'grib2_int.h'
#include <png.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

Typedefs


typedef struct png_stream png_stream
Typedef for PNG stream.

Functions


int dec_png (unsigned char *pngbuf, g2int *width, g2int *height, unsigned char *cout)
Decode PNG. int enc_png (unsigned char *data, g2int width, g2int height, g2int nbits, unsigned char *pngbuf)
Encode PNG. int g2c_dec_png (unsigned char *pngbuf, int *width, int *height, unsigned char *cout)
Decode PNG. int g2c_enc_png (unsigned char *data, int width, int height, int nbits, unsigned char *pngbuf)
Encode PNG. void user_flush_data (png_structp png_ptr)
Dummy Custom flush function. void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length)
Custom read function used so that libpng will read a PNG stream from memory instead of a file on disk. void user_write_data (png_structp png_ptr, png_bytep data, png_uint_32 length)
Custom write function used to that libpng will write to memory location instead of a file on disk.

Detailed Description

Decode/encode a PNG stream.

Author

Alyson Stahl

Date

2024-13-08

Definition in file decenc_png.c.

Typedef Documentation

typedef struct png_stream png_stream

Typedef for PNG stream.

Definition at line 21 of file decenc_png.c.

Function Documentation

int dec_png (unsigned char * pngbuf, g2int * width, g2int * height, unsigned char * cout)

Decode PNG.

Parameters

pngbuf Pointer to PNG buffer.
width Pointer to width.
height Pointer to height.
cout Output buffer.

Returns

0 for success, error code otherwise.

Author

Stephen Gilbert

Definition at line 127 of file decenc_png.c.

References G2C_PNG_HEIGHT_MAX, G2C_PNG_WIDTH_MAX, and user_read_data().

Referenced by g2c_dec_png(), and pngunpack_int().

int enc_png (unsigned char * data, g2int width, g2int height, g2int nbits, unsigned char * pngbuf)

Encode PNG.

Parameters

data data.
width width.
height height.
nbits number of bits.
pngbuf PNG buffer.

Returns

PNG length, or negative number for error.

Author

Stephen Gilbert

Definition at line 259 of file decenc_png.c.

References user_flush_data(), and user_write_data().

Referenced by g2c_enc_png(), and pngpack_int().

int g2c_dec_png (unsigned char * pngbuf, int * width, int * height, unsigned char * cout)

Decode PNG.

Parameters

pngbuf Pointer to PNG buffer.
width Pointer to width.
height Pointer to height.
cout Output buffer.

Returns

0 for success, error code otherwise.

Author

Alyson Stahl

Definition at line 100 of file decenc_png.c.

References dec_png().

int g2c_enc_png (unsigned char * data, int width, int height, int nbits, unsigned char * pngbuf)

Encode PNG.

Parameters

data data.
width width.
height height.
nbits number of bits.
pngbuf PNG buffer.

Returns

PNG length, or negative number for error.

Author

Alyson Stahl

Definition at line 237 of file decenc_png.c.

References enc_png().

void user_flush_data (png_structp png_ptr)

Dummy Custom flush function.

Parameters

png_ptr Pointer to PNG struct.

Author

Stephen Gilbert

Definition at line 83 of file decenc_png.c.

Referenced by enc_png().

void user_read_data (png_structp png_ptr, png_bytep data, png_uint_32 length)

Custom read function used so that libpng will read a PNG stream from memory instead of a file on disk.

Parameters

png_ptr Pointer to PNG.
data Pointer to data.
length Length.

Author

Stephen Gilbert

Definition at line 38 of file decenc_png.c.

Referenced by dec_png().

void user_write_data (png_structp png_ptr, png_bytep data, png_uint_32 length)

Custom write function used to that libpng will write to memory location instead of a file on disk.

Parameters

png_ptr pointer
data data
length length

Author

Stephen Gilbert

Definition at line 62 of file decenc_png.c.

Referenced by enc_png().

Author

Generated automatically by Doxygen for NCEPLIBS-g2c from the source code.

Version 2.1.0 NCEPLIBS-g2c