Image::Leptonica::Func::webpio
version 0.03
webpio.c
webpio.c Reading WebP PIX *pixReadStreamWebP() PIX *pixReadMemWebP() Reading WebP header l_int32 readHeaderWebP() Writing WebP l_int32 pixWriteWebP() [ special top level ] l_int32 pixWriteStreamWebP() l_int32 pixWriteMemWebP()
PIX * pixReadMemWebP ( const l_uint8 *filedata, size_t filesize )
pixReadMemWebP() Input: filedata (webp compressed data in memory) filesize (number of bytes in data) Return: pix (32 bpp), or null on error Notes: (1) When the encoded data only has 3 channels (no alpha), WebPDecodeRGBAInto() generates a raster of 32-bit pixels, with the alpha channel set to opaque (255). (2) We don't need to use the gnu runtime functions like fmemopen() for redirecting data from a stream to memory, because the webp library has been written with memory-to-memory functions at the lowest level (which is good!). And, in any event, fmemopen() doesn't work with l_binaryReadStream().
PIX * pixReadStreamWebP ( FILE *fp )
pixReadStreamWebP() Input: stream corresponding to WebP image Return: pix (32 bpp), or null on error
l_int32 pixWriteMemWebP ( l_uint8 **pencdata, size_t *pencsize, PIX *pixs, l_int32 quality, l_int32 lossless )
pixWriteMemWebP() Input: &encdata (<return> webp encoded data of pixs) &encsize (<return> size of webp encoded data) pixs (any depth, cmapped OK) quality (0 - 100; default ~80) lossless (use 1 for lossless; 0 for lossy) Return: 0 if OK, 1 on error Notes: (1) Lossless and lossy encoding are entirely different in webp. @quality applies to lossy, and is ignored for lossless. (2) The input image is converted to RGB if necessary. If spp == 3, we set the alpha channel to fully opaque (255), and WebPEncodeRGBA() then removes the alpha chunk when encoding, setting the internal header field has_alpha to 0.
l_int32 pixWriteStreamWebP ( FILE *fp, PIX *pixs, l_int32 quality, l_int32 lossless )
pixWriteStreamWebP() Input: stream pixs (all depths) quality (0 - 100; default ~80) lossless (use 1 for lossless; 0 for lossy) Return: 0 if OK, 1 on error Notes: (1) See pixWriteMemWebP() for details. (2) Use 'free', and not leptonica's 'FREE', for all heap data that is returned from the WebP library.
l_int32 pixWriteWebP ( const char *filename, PIX *pixs, l_int32 quality, l_int32 lossless )
pixWriteWebP() Input: filename pixs quality (0 - 100; default ~80) lossless (use 1 for lossless; 0 for lossy) Return: 0 if OK, 1 on error Notes: (1) Special top-level function allowing specification of quality.
l_int32 readHeaderWebP ( const char *filename, l_int32 *pw, l_int32 *ph, l_int32 *pspp )
readHeaderWebP() Input: filename &w (<return> width) &h (<return> height) &spp (<return> spp (3 or 4)) Return: 0 if OK, 1 on error
Zakariyya Mughal <zmughal@cpan.org>
This software is copyright (c) 2014 by Zakariyya Mughal.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Image::Leptonica, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Image::Leptonica
CPAN shell
perl -MCPAN -e shell install Image::Leptonica
For more information on module installation, please visit the detailed CPAN module installation guide.