NCEPLIBS-g2c 1.9.0
|
Pack data with PNG compression. More...
Go to the source code of this file.
Functions | |
int | g2c_pngpackd (double *fld, size_t width, size_t height, int *idrstmpl, unsigned char *cpack, int *lcpack) |
This subroutine packs up a double data field into PNG image format. | |
int | g2c_pngpackf (float *fld, size_t width, size_t height, int *idrstmpl, unsigned char *cpack, int *lcpack) |
This subroutine packs up a float data field into PNG image format. | |
void | pngpack (float *fld, g2int width, g2int height, g2int *idrstmpl, unsigned char *cpack, g2int *lcpack) |
This subroutine packs up a float data field into PNG image format. | |
static int | pngpack_int (void *fld, int fld_is_double, g2int width, g2int height, g2int *idrstmpl, unsigned char *cpack, g2int *lcpack, int verbose) |
Packs float or double data into PNG image format. | |
int g2c_pngpackd | ( | double * | fld, |
size_t | width, | ||
size_t | height, | ||
int * | idrstmpl, | ||
unsigned char * | cpack, | ||
int * | lcpack | ||
) |
This subroutine packs up a double data field into PNG image format.
After the data field is scaled, and the reference value is subtracted out, it is treated as a grayscale image and passed to a PNG encoder. It also fills in GRIB2 Data Representation Template 5.41 or 5.40010 with the appropriate values.
fld | Pointer to array of double that contains the data values to pack. |
width | Number of points in the x direction. |
height | Number of points in the y direction. |
idrstmpl | Contains the array of values for Data Representation Template 5.41 or 5.40010.
|
cpack | The packed data field. |
lcpack | length of packed field cpack. |
Definition at line 336 of file pngpack.c.
References G2C_PNG_DRS_TEMPLATE_LEN, and pngpack_int().
int g2c_pngpackf | ( | float * | fld, |
size_t | width, | ||
size_t | height, | ||
int * | idrstmpl, | ||
unsigned char * | cpack, | ||
int * | lcpack | ||
) |
This subroutine packs up a float data field into PNG image format.
After the data field is scaled, and the reference value is subtracted out, it is treated as a grayscale image and passed to a PNG encoder. It also fills in GRIB2 Data Representation Template 5.41 or 5.40010 with the appropriate values.
fld | Pointer to array of float that contains the data values to pack. |
width | Number of points in the x direction. |
height | Number of points in the y direction. |
idrstmpl | Contains the array of values for Data Representation Template 5.41 or 5.40010.
|
cpack | The packed data field. |
lcpack | length of packed field cpack. |
Definition at line 282 of file pngpack.c.
References G2C_PNG_DRS_TEMPLATE_LEN, and pngpack_int().
void pngpack | ( | float * | fld, |
g2int | width, | ||
g2int | height, | ||
g2int * | idrstmpl, | ||
unsigned char * | cpack, | ||
g2int * | lcpack | ||
) |
This subroutine packs up a float data field into PNG image format.
After the data field is scaled, and the reference value is subtracted out, it is treated as a grayscale image and passed to a PNG encoder. It also fills in GRIB2 Data Representation Template 5.41 or 5.40010 with the appropriate values.
fld | Pointer to array of float that contains the data values to pack. |
width | Number of points in the x direction. |
height | Number of points in the y direction. |
idrstmpl | Contains the array of values for Data Representation Template 5.41 or 5.40010.
|
cpack | The packed data field. |
lcpack | length of packed field cpack. |
Definition at line 242 of file pngpack.c.
References pngpack_int().
Referenced by g2_addfield().
|
static |
Packs float or double data into PNG image format.
This is called by pngpack() and pngpackd().
After the data field is scaled, and the reference value is subtracted out, it is treated as a grayscale image and passed to a PNG encoder. It also fills in GRIB2 Data Representation Template 5.41 or 5.40010 with the appropriate values.
fld | Pointer to array of float or double that contains the data values to pack. |
fld_is_double | If non-zero, then fld is double, otherwise float. |
width | Number of points in the x direction. This is passed to the PNG layer as a uint32. |
height | Number of points in the y direction. This is passed to the PNG layer as a uint32. |
idrstmpl | Contains the array of values for Data Representation Template 5.41 or 5.40010.
|
cpack | The packed data field. |
lcpack | length of packed field cpack. |
verbose | If non-zero, error messages will be printed in case of error. Otherwise, error codes will be return but no error messages printed. Calls to the original g2c API may cause error messages to be printed in case of error. For the new g2c_ API, no error messages will be printed - instead an error code will be returned. Call g2c_strerror() to get the error message for any error code. |
Definition at line 53 of file pngpack.c.
References ALOG2, enc_png(), G2C_EPNG, G2C_NOERROR, int_power(), LOG, mkieee(), and sbits().
Referenced by g2c_pngpackd(), g2c_pngpackf(), and pngpack().