/******************************************************************* | |
* morpho_hdr_checker.h | |
* [CP932/CRLF] { »û®©®»èp } | |
*------------------------------------------------------------------ | |
* Copyright (C) 2011-2012 Morpho,Inc. | |
*******************************************************************/ | |
#ifndef MORPHO_HDR_CHECKER_H | |
#define MORPHO_HDR_CHECKER_H | |
/*******************************************************************/ | |
#include "morpho_api.h" | |
#include "morpho_error.h" | |
#include "morpho_image_data.h" | |
/*******************************************************************/ | |
#define MORPHO_HDR_CHECKER_VER "Morpho DR Checker Ver.1.1.0 2012/1/17" | |
/*-----------------------------------------------------------------*/ | |
#define MORPHO_HDR_CHECKER_MIN_IMAGE_WIDTH 2 | |
#define MORPHO_HDR_CHECKER_MAX_IMAGE_WIDTH 8192 | |
#define MORPHO_HDR_CHECKER_MIN_IMAGE_HEIGHT 2 | |
#define MORPHO_HDR_CHECKER_MAX_IMAGE_HEIGHT 8192 | |
/*******************************************************************/ | |
typedef struct _morpho_HDRChecker morpho_HDRChecker; | |
/* HDRwW]¿í */ | |
struct _morpho_HDRChecker | |
{ | |
void *p; /**< à\¢ÌÖÌ|C^ */ | |
}; | |
/* òÑEÂÔê»èÌq´x */ | |
typedef enum { | |
MORPHO_HDR_CHECKER_SENSITIVITY_SENSITIVE, | |
MORPHO_HDR_CHECKER_SENSITIVITY_NORMAL, | |
MORPHO_HDR_CHECKER_SENSITIVITY_INSENSITIVE, | |
} MORPHO_HDR_CHECKER_SENSITIVITY; | |
/*******************************************************************/ | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/** | |
* o[W¶ñðæ¾ | |
* | |
* @return o[W¶ñ(MORPHO_EASY_HDR_VER) | |
*/ | |
MORPHO_API(const char*) | |
morpho_HDRChecker_getVersion(void); | |
/** | |
* KvÈTCYðæ¾ | |
* | |
* @param[in] width üÍæÌ | |
* @param[in] height üÍæ̳ | |
* @param[in] format üÍæÌtH[}bg | |
* @return KvÈTCY(byte) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_getBufferSize( | |
int width, | |
int height, | |
const char *format); | |
/** | |
* ú» | |
* | |
* @param[in,out] p HDRCheckerCX^X | |
* @param[in] buffer HDRCheckerÉèÄéÖÌ|C^ | |
* @param[in] buffer_size HDRCheckerÉèÄéÌTCY | |
* @param[in] width üÍæÌ | |
* @param[in] height üÍæ̳ | |
* @param[in] format üÍæÌtH[}bg | |
* @return G[R[h (see morpho_error.h) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_initialize( | |
morpho_HDRChecker * const p, | |
void * const buffer, | |
const int buffer_size, | |
const int width, | |
const int height, | |
const char *format); | |
/** | |
* N[Abv | |
* initialize()ÀsãÉÀsÂ\ | |
* | |
* @param[in,out] p HDRCheckerCX^X | |
* @return G[R[h (see morpho_error.h) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_finalize( | |
morpho_HDRChecker *p); | |
/*-----------------------------------------------------------------*/ | |
/** | |
* HDRwWvZÌq´«ÌÝè | |
* initialize()ÀsãÉÀsÂ\ | |
* | |
* @param[in,out] p HDRCheckerCX^X | |
* @param[in] sensitivity q´«(MORPHO_HDR_CHECKER_SENSITIVIYñÌÅwè) | |
* @return G[R[h (see morpho_error.h) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_setSensitivity( | |
morpho_HDRChecker * const p, | |
MORPHO_HDR_CHECKER_SENSITIVITY sensitivity); | |
/** | |
* HDRwWvZÌq´«Ìæ¾ | |
* initialize()ÀsãÉÀsÂ\ | |
* | |
* @param[in,out] p HDRCheckerCX^X | |
* @param[out] sensitivity q´«ÖÌ|C^ | |
* @return G[R[h (see morpho_error.h) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_getSensitivity( | |
morpho_HDRChecker * const p, | |
MORPHO_HDR_CHECKER_SENSITIVITY *sensitivity); | |
/** | |
* HDRwWÌ]¿ | |
* initialize()ÀsãÉÀsÂ\ | |
* | |
* @param[in,out] p HDRCheckerCX^X | |
* @param[out] result ]¿Êði[·ézñ(vf4Ìzñ) | |
* vfªñ[ÌêÉηéºLÌIoÌæªKvÆ»è | |
* {+2, +1, -1, -2}ÌÉ»èʪi[³êé | |
* @param[in] input_image üÍæ | |
* @return G[R[h (see morpho_error.h) | |
*/ | |
MORPHO_API(int) | |
morpho_HDRChecker_evaluate( | |
morpho_HDRChecker * const p, | |
int * const result, | |
const morpho_ImageData * const input_image); | |
/*-----------------------------------------------------------------*/ | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif /* MORPHO_HDR_CHECKER_H */ |