• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*******************************************************************
2  * morpho_hdr_checker.h
3  * [CP932/CRLF] { �� ������������������p }
4  *------------------------------------------------------------------
5  * Copyright (C) 2011-2012 Morpho,Inc.
6  *******************************************************************/
7 
8 #ifndef MORPHO_HDR_CHECKER_H
9 #define MORPHO_HDR_CHECKER_H
10 
11 /*******************************************************************/
12 
13 #include "morpho_api.h"
14 #include "morpho_error.h"
15 #include "morpho_image_data.h"
16 
17 /*******************************************************************/
18 
19 #define MORPHO_HDR_CHECKER_VER "Morpho DR Checker Ver.1.1.0 2012/1/17"
20 
21 /*-----------------------------------------------------------------*/
22 
23 #define MORPHO_HDR_CHECKER_MIN_IMAGE_WIDTH     2
24 #define MORPHO_HDR_CHECKER_MAX_IMAGE_WIDTH  8192
25 #define MORPHO_HDR_CHECKER_MIN_IMAGE_HEIGHT    2
26 #define MORPHO_HDR_CHECKER_MAX_IMAGE_HEIGHT 8192
27 
28 /*******************************************************************/
29 
30 typedef struct _morpho_HDRChecker morpho_HDRChecker;
31 
32 /* HDR�w�W�]���� */
33 struct _morpho_HDRChecker
34 {
35     void *p; /**< �����\���̂ւ̃|�C���^ */
36 };
37 
38 /* ����сE���‚Ԃꔻ��̕q���x */
39 typedef enum {
40     MORPHO_HDR_CHECKER_SENSITIVITY_SENSITIVE,
41     MORPHO_HDR_CHECKER_SENSITIVITY_NORMAL,
42     MORPHO_HDR_CHECKER_SENSITIVITY_INSENSITIVE,
43 } MORPHO_HDR_CHECKER_SENSITIVITY;
44 
45 /*******************************************************************/
46 
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50 
51 /**
52  * �o�[�W������������擾
53  *
54  * @return �o�[�W����������(MORPHO_EASY_HDR_VER)
55  */
56 MORPHO_API(const char*)
57 morpho_HDRChecker_getVersion(void);
58 
59 /**
60  * �K�v�ȃ������T�C�Y���擾
61  *
62  * @param[in] width  ���͉摜�̕�
63  * @param[in] height ���͉摜�̍���
64  * @param[in] format ���͉摜�̃t�H�[�}�b�g
65  * @return �K�v�ȃ������T�C�Y(byte)
66  */
67 MORPHO_API(int)
68 morpho_HDRChecker_getBufferSize(
69     int width,
70     int height,
71     const char *format);
72 
73 /**
74  * ������
75  *
76  * @param[in,out] p           HDRChecker�C���X�^���X
77  * @param[in]     buffer      HDRChecker�Ɋ��蓖�Ă郁�����ւ̃|�C���^
78  * @param[in]     buffer_size HDRChecker�Ɋ��蓖�Ă郁�����̃T�C�Y
79  * @param[in]     width       ���͉摜�̕�
80  * @param[in]     height      ���͉摜�̍���
81  * @param[in]     format      ���͉摜�̃t�H�[�}�b�g
82  * @return �G���[�R�[�h (see morpho_error.h)
83  */
84 MORPHO_API(int)
85 morpho_HDRChecker_initialize(
86     morpho_HDRChecker * const p,
87     void * const buffer,
88     const int buffer_size,
89     const int width,
90     const int height,
91     const char *format);
92 
93 /**
94  * �N���[���A�b�v
95  * initialize()���s��Ɏ��s�”\
96  *
97  * @param[in,out] p HDRChecker�C���X�^���X
98  * @return �G���[�R�[�h (see morpho_error.h)
99  */
100 MORPHO_API(int)
101 morpho_HDRChecker_finalize(
102     morpho_HDRChecker *p);
103 
104 /*-----------------------------------------------------------------*/
105 
106 /**
107  * HDR�w�W�v�Z�̕q�����̐ݒ�
108  * initialize()���s��Ɏ��s�”\
109  *
110  * @param[in,out] p           HDRChecker�C���X�^���X
111  * @param[in]     sensitivity �q����(MORPHO_HDR_CHECKER_SENSITIVIY���̂Ŏw��)
112  * @return �G���[�R�[�h (see morpho_error.h)
113  */
114 MORPHO_API(int)
115 morpho_HDRChecker_setSensitivity(
116     morpho_HDRChecker * const p,
117     MORPHO_HDR_CHECKER_SENSITIVITY sensitivity);
118 
119 /**
120  * HDR�w�W�v�Z�̕q�����̎擾
121  * initialize()���s��Ɏ��s�”\
122  *
123  * @param[in,out] p           HDRChecker�C���X�^���X
124  * @param[out]    sensitivity �q�����ւ̃|�C���^
125  * @return �G���[�R�[�h (see morpho_error.h)
126  */
127 MORPHO_API(int)
128 morpho_HDRChecker_getSensitivity(
129     morpho_HDRChecker * const p,
130     MORPHO_HDR_CHECKER_SENSITIVITY *sensitivity);
131 
132 /**
133  * HDR�w�W�̕]��
134  * initialize()���s��Ɏ��s�”\
135  *
136  * @param[in,out] p      HDRChecker�C���X�^���X
137  * @param[out]    result �]�����ʂ��i�[����z��(�v�f��4�̔z��)
138  *                       �v�f����[���̏ꍇ�ɑΉ����鉺�L�̘I�o�̉摜���K�v�Ɣ���
139  *                       {+2, +1, -1, -2}�̏��ɔ��茋�ʂ��i�[�����
140  * @param[in]     input_image ���͉摜
141  * @return �G���[�R�[�h (see morpho_error.h)
142  */
143 MORPHO_API(int)
144 morpho_HDRChecker_evaluate(
145     morpho_HDRChecker * const p,
146     int * const result,
147     const morpho_ImageData * const input_image);
148 
149 /*-----------------------------------------------------------------*/
150 
151 #ifdef __cplusplus
152 }
153 #endif
154 
155 #endif /* MORPHO_HDR_CHECKER_H */
156