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.