/*************************************************************************\
* "$RCSfile: JPEG_Lib.h,v $"                                              *
***************************************************************************
* Information by CVS or VSS:                                              *
*     Last check in on: $Date: 2012-11-21 09:38:14 $                      *
*     by                $Author: schluckebier $
*     Revision        : $Revision: 1.15 $                                 *
***************************************************************************
* Prototypes for JPEG_Lib                                                 *
\*************************************************************************/
/*! \file JPEG_Lib.h
*	\brief JPEG Library Interface
*	\author (c) 2005 - 2012 IMAGO Technologies GmbH
*	$Revision: 1.15 $
*	$Date: 2012-11-21 09:38:14 $
*	\addtogroup JPEG
*	\{
**************************************************************************/

#define _JPEG_LIB_HID {"JPEG_Lib.h", __DATE__, __TIME__, _REVISION($Revision: 1.15 $)}

extern int JPEG_Quality;		//!< Quality for JPEG compression
extern char *JPEG_LibVersion;	//!< Library version
extern char *JPEG_LibDate;		//!< Library compilation date

#ifdef __cplusplus
extern "C" {
#endif

int JPEG_GetLibVersion(int *pMajor, int *pMinor);
void JPEG_PrintLibInfo(void);
void JPEG_SprintLibInfo(char *String);
int JPEG_GetInfo(int Device, const char *pFilename, int *pWidth, int *pHeight, int *pDepth);
int JPEG_ReadYImage(int Device, const char *pFilename, YIMAGE *pImage);
int JPEG_ReadCImage(int Device, const char *pFilename, CIMAGE *pImage);
int JPEG_WriteYImage(int Device, const char *pFilename, const YIMAGE *pImage);
int JPEG_WriteCImage(int Device, const char *pFilename, const CIMAGE *pImage);

int JPEG_GetInfoMem(const void *pMem, int *pWidth, int *pHeight, int *pDepth);
int JPEG_ReadYImageMem(const void *pMem, YIMAGE *pImage);
int JPEG_ReadCImageMem(const void *pMem, CIMAGE *pImage);
int JPEG_WriteYImageMem(void *pMem, const YIMAGE *pImage);
int JPEG_WriteCImageMem(void *pMem, const CIMAGE *pImage);

CIMAGE JPEG_ReadNewCImage(int Device, const char *pFilename);
CIMAGE JPEG_ReadNewCImageMem(const void *pMem);
YIMAGE JPEG_ReadNewYImage(int Device, const char *pFilename);
YIMAGE JPEG_ReadNewYImageMem(const void *pMem);

void JPEG_SetGBitMode(void);
void JPEG_SetQuality(int Quality);

#ifdef __cplusplus
}
#endif
//! \}
/*************************************************************************/
