1/* -*- C++ -*-
2 * File: libraw_const.h
3 * Copyright 2008-2013 LibRaw LLC (info@libraw.org)
4 * Created: Sat Mar 8 , 2008
5 * LibRaw error codes
6LibRaw is free software; you can redistribute it and/or modify
7it under the terms of the one of three licenses as you choose:
8
91. GNU LESSER GENERAL PUBLIC LICENSE version 2.1
10 (See file LICENSE.LGPL provided in LibRaw distribution archive for details).
11
122. COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
13 (See file LICENSE.CDDL provided in LibRaw distribution archive for details).
14
153. LibRaw Software License 27032010
16 (See file LICENSE.LibRaw.pdf provided in LibRaw distribution archive for details).
17
18 */
19
20#ifndef _LIBRAW_ERRORS_H
21#define _LIBRAW_ERRORS_H
22
23#define LIBRAW_DEFAULT_ADJUST_MAXIMUM_THRESHOLD 0.75
24#define LIBRAW_DEFAULT_AUTO_BRIGHTNESS_THRESHOLD 0.01
25
26enum LibRaw_decoder_flags
27{
28 LIBRAW_DECODER_LEGACY = 1,
29 LIBRAW_DECODER_FLATFIELD = 1<<1,
30 LIBRAW_DECODER_USEBAYER2 = 1<<3,
31 LIBRAW_DECODER_HASCURVE = 1<<4,
32 LIBRAW_DECODER_ITSASONY = 1<<5,
33 LIBRAW_DECODER_TRYRAWSPEED = 1<<6,
34 LIBRAW_DECODER_OWNALLOC = 1<<7,
35 LIBRAW_DECODER_NOTSET = 1<<15
36};
37
38#define LIBRAW_XTRANS 9
39
40enum LibRaw_constructor_flags
41{
42 LIBRAW_OPTIONS_NONE =0,
43 LIBRAW_OPIONS_NO_MEMERR_CALLBACK=1,
44 LIBRAW_OPIONS_NO_DATAERR_CALLBACK=1<<1
45};
46
47enum LibRaw_warnings
48{
49 LIBRAW_WARN_NONE =0,
50 LIBRAW_WARN_FOVEON_NOMATRIX =1,
51 LIBRAW_WARN_FOVEON_INVALIDWB =1<<1,
52 LIBRAW_WARN_BAD_CAMERA_WB =1<<2,
53 LIBRAW_WARN_NO_METADATA =1<<3,
54 LIBRAW_WARN_NO_JPEGLIB = 1<<4,
55 LIBRAW_WARN_NO_EMBEDDED_PROFILE = 1<<5,
56 LIBRAW_WARN_NO_INPUT_PROFILE = 1<<6,
57 LIBRAW_WARN_BAD_OUTPUT_PROFILE= 1<<7,
58 LIBRAW_WARN_NO_BADPIXELMAP=1<<8,
59 LIBRAW_WARN_BAD_DARKFRAME_FILE=1<<9,
60 LIBRAW_WARN_BAD_DARKFRAME_DIM=1<<10,
61 LIBRAW_WARN_NO_JASPER = 1<<11,
62 LIBRAW_WARN_RAWSPEED_PROBLEM = 1<<12,
63 LIBRAW_WARN_RAWSPEED_UNSUPPORTED = 1<<13,
64 LIBRAW_WARN_RAWSPEED_PROCESSED = 1<<14
65};
66
67enum LibRaw_exceptions
68{
69 LIBRAW_EXCEPTION_NONE =0,
70 LIBRAW_EXCEPTION_ALLOC =1,
71 LIBRAW_EXCEPTION_DECODE_RAW =2,
72 LIBRAW_EXCEPTION_DECODE_JPEG=3,
73 LIBRAW_EXCEPTION_IO_EOF =4,
74 LIBRAW_EXCEPTION_IO_CORRUPT =5,
75 LIBRAW_EXCEPTION_CANCELLED_BY_CALLBACK=6,
76 LIBRAW_EXCEPTION_BAD_CROP =7,
77 LIBRAW_EXCEPTION_IO_BADFILE =8,
78 LIBRAW_EXCEPTION_DECODE_JPEG2000=9
79};
80
81
82enum LibRaw_colorstate
83{
84 LIBRAW_COLORSTATE_UNKNOWN =0,
85 LIBRAW_COLORSTATE_INIT =1,
86 LIBRAW_COLORSTATE_CONST =2,
87 LIBRAW_COLORSTATE_LOADED =3,
88 LIBRAW_COLORSTATE_CALCULATED=4,
89 LIBRAW_COLORSTATE_RESERVED1 =5,
90 LIBRAW_COLORSTATE_RESERVED2 =6,
91 LIBRAW_COLORSTATE_RESERVED3 =7
92};
93
94enum LibRaw_progress
95{
96 LIBRAW_PROGRESS_START = 0,
97 LIBRAW_PROGRESS_OPEN = 1,
98 LIBRAW_PROGRESS_IDENTIFY = 1<<1,
99 LIBRAW_PROGRESS_SIZE_ADJUST = 1<<2,
100 LIBRAW_PROGRESS_LOAD_RAW = 1<<3,
101 LIBRAW_PROGRESS_RAW2_IMAGE = 1<<4,
102 LIBRAW_PROGRESS_REMOVE_ZEROES = 1<<5,
103 LIBRAW_PROGRESS_BAD_PIXELS = 1<<6,
104 LIBRAW_PROGRESS_DARK_FRAME = 1<<7,
105 LIBRAW_PROGRESS_FOVEON_INTERPOLATE = 1<<8,
106 LIBRAW_PROGRESS_SCALE_COLORS = 1<<9,
107 LIBRAW_PROGRESS_PRE_INTERPOLATE = 1<<10,
108 LIBRAW_PROGRESS_INTERPOLATE = 1<<11,
109 LIBRAW_PROGRESS_MIX_GREEN = 1<<12,
110 LIBRAW_PROGRESS_MEDIAN_FILTER = 1<<13,
111 LIBRAW_PROGRESS_HIGHLIGHTS = 1<<14,
112 LIBRAW_PROGRESS_FUJI_ROTATE = 1<<15,
113 LIBRAW_PROGRESS_FLIP = 1<<16,
114 LIBRAW_PROGRESS_APPLY_PROFILE = 1<<17,
115 LIBRAW_PROGRESS_CONVERT_RGB = 1<<18,
116 LIBRAW_PROGRESS_STRETCH = 1<<19,
117/* reserved */
118 LIBRAW_PROGRESS_STAGE20 = 1<<20,
119 LIBRAW_PROGRESS_STAGE21 = 1<<21,
120 LIBRAW_PROGRESS_STAGE22 = 1<<22,
121 LIBRAW_PROGRESS_STAGE23 = 1<<23,
122 LIBRAW_PROGRESS_STAGE24 = 1<<24,
123 LIBRAW_PROGRESS_STAGE25 = 1<<25,
124 LIBRAW_PROGRESS_STAGE26 = 1<<26,
125 LIBRAW_PROGRESS_STAGE27 = 1<<27,
126
127 LIBRAW_PROGRESS_THUMB_LOAD = 1<<28,
128 LIBRAW_PROGRESS_TRESERVED1 = 1<<29,
129 LIBRAW_PROGRESS_TRESERVED2 = 1<<30,
130 LIBRAW_PROGRESS_TRESERVED3 = 1<<31
131};
132#define LIBRAW_PROGRESS_THUMB_MASK 0x0fffffff
133
134enum LibRaw_errors
135{
136 LIBRAW_SUCCESS = 0,
137 LIBRAW_UNSPECIFIED_ERROR=-1,
138 LIBRAW_FILE_UNSUPPORTED = -2,
139 LIBRAW_REQUEST_FOR_NONEXISTENT_IMAGE=-3,
140 LIBRAW_OUT_OF_ORDER_CALL=-4,
141 LIBRAW_NO_THUMBNAIL=-5,
142 LIBRAW_UNSUPPORTED_THUMBNAIL=-6,
143 LIBRAW_INPUT_CLOSED=-7,
144 LIBRAW_UNSUFFICIENT_MEMORY=-100007,
145 LIBRAW_DATA_ERROR=-100008,
146 LIBRAW_IO_ERROR=-100009,
147 LIBRAW_CANCELLED_BY_CALLBACK=-100010,
148 LIBRAW_BAD_CROP=-100011
149};
150
151#define LIBRAW_FATAL_ERROR(ec) ((ec)<-100000)
152
153enum LibRaw_thumbnail_formats
154{
155 LIBRAW_THUMBNAIL_UNKNOWN=0,
156 LIBRAW_THUMBNAIL_JPEG=1,
157 LIBRAW_THUMBNAIL_BITMAP=2,
158 LIBRAW_THUMBNAIL_LAYER=4,
159 LIBRAW_THUMBNAIL_ROLLEI=5
160};
161
162enum LibRaw_image_formats
163{
164 LIBRAW_IMAGE_JPEG=1,
165 LIBRAW_IMAGE_BITMAP=2
166};
167
168#endif
169