Image Component Library (ICL)
|
Utility class for decoding JPEG-Data streams (with ICL_HAVE_LIBJPEG only) More...
#include <JPEGDecoder.h>
Static Public Member Functions | |
static void | decode (utils::File &file, core::ImgBase **dst) throw (utils::InvalidFileFormatException) |
Decode JPEG-File (E.g. used for FileGrabberPluginJPEG) | |
static void | decode (const unsigned char *data, unsigned int maxDataLen, core::ImgBase **dst) |
Decode a data stream (E.g. used for Decoding Motion-JPEG streams in unicap's DefaultConvertEngine) | |
Static Private Member Functions | |
static void | decode_internal (utils::File *file, const unsigned char *data, unsigned int maxDataLen, core::ImgBase **dst) throw (utils::InvalidFileFormatException) |
internal utility function, which does all the work |
Utility class for decoding JPEG-Data streams (with ICL_HAVE_LIBJPEG only)
static void icl::io::JPEGDecoder::decode | ( | utils::File & | file, |
core::ImgBase ** | dst | ||
) | throw (utils::InvalidFileFormatException) [static] |
Decode JPEG-File (E.g. used for FileGrabberPluginJPEG)
file | must be opened in mode readBinary or not opend |
dst | image, which is adapted to the found image parameters |
static void icl::io::JPEGDecoder::decode | ( | const unsigned char * | data, |
unsigned int | maxDataLen, | ||
core::ImgBase ** | dst | ||
) | [static] |
Decode a data stream (E.g. used for Decoding Motion-JPEG streams in unicap's DefaultConvertEngine)
data | jpeg data stream (must be valid, otherwise unpredictable behaviour occurs |
maxDataLen | length of the given data pointer Note:This is just an upper limit to avoid segmentation faults on corrupted jpeg data (e.g. end-of-image-marker is missing). The given data pointer can be much longer then the actual jpeg data. If that is the case, libjpeg obviously reads only necessary bytes. |
dst | destination image, which is adapted to the found images parameters |
static void icl::io::JPEGDecoder::decode_internal | ( | utils::File * | file, |
const unsigned char * | data, | ||
unsigned int | maxDataLen, | ||
core::ImgBase ** | dst | ||
) | throw (utils::InvalidFileFormatException) [static, private] |
internal utility function, which does all the work